├── .dockerignore
├── .gitignore
├── .vscode
└── tasks.json
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── README.md
├── config
├── .gitignore
├── defaults
│ └── project.json
└── projects
│ ├── default
│ ├── popups.json
│ ├── profiles
│ │ └── config.json
│ ├── project.json
│ └── widgets
│ │ ├── Bookmark
│ │ └── config.json
│ │ ├── LayerList
│ │ └── config.json
│ │ └── eMapSwitcher
│ │ └── config.json
│ └── superiordemo
│ ├── assets
│ └── images
│ │ ├── GIS-desktop-mobile.jpg
│ │ ├── crossing.svg
│ │ ├── highway.svg
│ │ ├── hybrid.jpg
│ │ └── hydro.svg
│ ├── popups.json
│ ├── profiles
│ ├── config.json
│ └── config.override.json
│ ├── project.json
│ └── widgets
│ ├── Bookmark
│ └── config.json
│ ├── ElevationProfile
│ └── config.json
│ ├── ImportDataFile
│ └── config.json
│ ├── LayerList
│ └── config.json
│ ├── Legend
│ └── config.json
│ ├── Link
│ └── config.json
│ ├── Locate
│ └── config.json
│ ├── Measure
│ └── config.json
│ ├── Print
│ └── config.json
│ ├── Query
│ └── config.json
│ ├── Routes
│ └── config.json
│ ├── Search
│ ├── config.json
│ └── overrides.json
│ ├── WMSLooping
│ └── config.json
│ ├── eDraw
│ └── config.json
│ └── eMapSwitcher
│ └── config.json
├── css
├── .gitignore
├── _dijit.scss
├── _layerControl.scss
├── _mobile.scss
├── fonts
│ ├── caret-square-o-down.svg
│ ├── checkbox-checked.svg
│ ├── checkbox-unchecked.svg
│ ├── icomoon.eot
│ ├── icomoon.svg
│ ├── icomoon.ttf
│ └── icomoon.woff
├── layout.css
├── layout.scss
└── spectrum.css
├── gulpfile.js
├── icon.png
├── images
├── addContent.svg
├── arrow-down.svg
├── arrow-up.svg
├── arrow.svg
├── backward.svg
├── basemaps.svg
├── bookmarks.svg
├── clock.svg
├── close-popup.svg
├── close.svg
├── csv.svg
├── dijit
│ ├── LICENSE
│ ├── calendarArrows.png
│ └── icons
│ │ ├── editorIconsDisabled.png
│ │ └── editorIconsEnabled.png
├── download2.svg
├── dragndrop-add.png
├── dragndrop-add.svg
├── dragndrop-denied.svg
├── draw.svg
├── draw
│ ├── circle.svg
│ ├── ellipse.svg
│ ├── extent.svg
│ ├── freeline.svg
│ ├── freepoly.svg
│ ├── gpslocation.svg
│ ├── line.svg
│ ├── point.svg
│ ├── poly.svg
│ ├── rect.svg
│ └── text.svg
├── edit.svg
├── elevation.svg
├── exportFile.svg
├── fileicons
│ ├── 7z.png
│ ├── README
│ ├── ai.png
│ ├── aiff.png
│ ├── asc.png
│ ├── audio.png
│ ├── bin.png
│ ├── bz2.png
│ ├── c.png
│ ├── cfc.png
│ ├── cfm.png
│ ├── chm.png
│ ├── class.png
│ ├── conf.png
│ ├── cpp.png
│ ├── cs.png
│ ├── css.png
│ ├── csv.png
│ ├── deb.png
│ ├── divx.png
│ ├── doc.png
│ ├── dot.png
│ ├── eml.png
│ ├── enc.png
│ ├── file.png
│ ├── gif.png
│ ├── gz.png
│ ├── hlp.png
│ ├── htm.png
│ ├── html.png
│ ├── image.png
│ ├── iso.png
│ ├── jar.png
│ ├── java.png
│ ├── jpeg.png
│ ├── jpg.png
│ ├── js.png
│ ├── lua.png
│ ├── m.png
│ ├── mm.png
│ ├── mov.png
│ ├── mp3.png
│ ├── mpg.png
│ ├── odc.png
│ ├── odf.png
│ ├── odg.png
│ ├── odi.png
│ ├── odp.png
│ ├── ods.png
│ ├── odt.png
│ ├── ogg.png
│ ├── pdf.png
│ ├── pgp.png
│ ├── php.png
│ ├── pl.png
│ ├── png.png
│ ├── ppt.png
│ ├── ps.png
│ ├── py.png
│ ├── ram.png
│ ├── rar.png
│ ├── rb.png
│ ├── rm.png
│ ├── rpm.png
│ ├── rtf.png
│ ├── sig.png
│ ├── sql.png
│ ├── swf.png
│ ├── sxc.png
│ ├── sxd.png
│ ├── sxi.png
│ ├── sxw.png
│ ├── tar.png
│ ├── tex.png
│ ├── tgz.png
│ ├── txt.png
│ ├── vcf.png
│ ├── video.png
│ ├── vsd.png
│ ├── wav.png
│ ├── wma.png
│ ├── wmv.png
│ ├── xls.png
│ ├── xml.png
│ ├── xpi.png
│ ├── xvid.png
│ └── zip.png
├── folder-plus.svg
├── folder.svg
├── forward.svg
├── ge.svg
├── geojson.svg
├── geojsonfile.svg
├── layers.svg
├── legend.svg
├── link.svg
├── locate.svg
├── location.svg
├── lock-locked.svg
├── lock-unlocked.svg
├── maple.gpl
├── maptile.png
├── maximize.svg
├── measure.svg
├── menu.svg
├── pause.svg
├── play.svg
├── plus.svg
├── power-off.svg
├── progressBarAnim.gif
├── route-identify.svg
├── route.svg
├── save.svg
├── shapefile.svg
├── signs.svg
├── simple-line.svg
├── spinner.gif
├── spinner.svg
├── square-area.svg
├── stop.svg
├── switch.svg
├── trash.svg
├── warning.svg
└── weather.svg
├── index.html
├── js
├── config
│ ├── project.js
│ └── server.js
├── controllers
│ ├── app.js
│ ├── login.js
│ ├── map.js
│ ├── postloginmessage.js
│ └── resetpwd.js
├── external
│ ├── FileSaver.js
│ ├── SimpleAjaxUploader.js
│ ├── geojsonlayer.js
│ ├── jquery.js
│ ├── spectrum.js
│ ├── terraformer-arcgis-parser.js
│ └── terraformer.js
├── helpers
│ ├── WheelScrollableView.js
│ ├── auth.js
│ ├── dragndrop.js
│ ├── errorHandler.js
│ ├── login.js
│ ├── map
│ │ ├── geometries.js
│ │ ├── infoTemplate.js
│ │ ├── layers.js
│ │ ├── popup.js
│ │ └── search.js
│ ├── ui.js
│ ├── utils.js
│ └── widgets
│ │ └── common.js
├── main.js
├── patches
│ └── esri
│ │ └── dijit
│ │ ├── Legend.js
│ │ ├── Popup.js
│ │ ├── PopupMobile.js
│ │ └── editing
│ │ ├── AttachmentEditor.js
│ │ ├── AttributeInspector.js
│ │ ├── Editor.js
│ │ ├── toolbars
│ │ └── Drawing.js
│ │ └── tools
│ │ └── Selection.js
├── views
│ ├── login.html
│ ├── map.html
│ ├── postloginmessage.html
│ └── resetpwd.html
└── widgets
│ ├── AddDataLayers.html
│ ├── AddDataLayers.js
│ ├── Bookmarks.js
│ ├── Bookmarks
│ ├── Bookmarks.WidgetContainer.html
│ └── Bookmarks.html
│ ├── Draw.html
│ ├── Draw.js
│ ├── Edit.html
│ ├── Edit.js
│ ├── ElevationProfile.html
│ ├── ElevationProfile.js
│ ├── LayerControl.js
│ ├── LayerControl
│ ├── LICENSE
│ ├── controls
│ │ ├── CSV.js
│ │ ├── Dynamic.js
│ │ ├── Feature.js
│ │ ├── GeoRSS.js
│ │ ├── Image.js
│ │ ├── ImageVector.js
│ │ ├── KML.js
│ │ ├── Raster.js
│ │ ├── Stream.js
│ │ ├── Tiled.js
│ │ ├── WMS.js
│ │ ├── WebTiled.js
│ │ ├── _Control.js
│ │ ├── _DynamicFolder.js
│ │ ├── _DynamicSublayer.js
│ │ └── templates
│ │ │ ├── Control.html
│ │ │ ├── Folder.html
│ │ │ └── Sublayer.html
│ ├── nls
│ │ └── resource.js
│ └── plugins
│ │ ├── LayerMenu.js
│ │ ├── Transparency.js
│ │ └── legendUtil.js
│ ├── Links.js
│ ├── Links
│ ├── Links.Item.html
│ ├── Links.WidgetContainer.html
│ └── Links.html
│ ├── Locate.js
│ ├── Locate
│ ├── Locate.WidgetContainer.html
│ └── Locate.html
│ ├── Print.html
│ ├── Print.js
│ ├── Query.js
│ ├── Query
│ ├── Query.Category.html
│ ├── Query.Item.html
│ ├── Query.Search.Category.Result.html
│ ├── Query.Search.Category.html
│ ├── Query.Search.html
│ └── Query.html
│ ├── Routes.js
│ ├── Routes
│ └── Routes.html
│ ├── SideMenu.html
│ ├── SideMenu.js
│ ├── Slider.js
│ ├── Standby.js
│ ├── Weather.html
│ ├── Weather.js
│ ├── eTime.html
│ └── eTime.js
├── misc
└── maple-diagram.xml
├── package.json
├── server
├── .gitignore
├── composer.json
├── config.example.php
├── resetpwd.php
├── thumbnail.php
├── uploader
│ ├── geoJsonConvert.php
│ └── include
│ │ ├── Uploader.php
│ │ ├── cors.php
│ │ ├── sessionProgress.php
│ │ └── uploadProgress.php
└── views
│ ├── admin_user_pass_reset_notification.html
│ └── reset_password_email.html
├── tests
├── allTests.js
├── conf.js
├── config
│ └── project.js
└── helpers
│ └── utils.js
├── tmp
└── .gitignore
└── web.config
/.dockerignore:
--------------------------------------------------------------------------------
1 | **/node_modules
2 | .git/
3 |
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | db/
3 | Thumbs.db
4 | App_Data/
5 | tests/config/configurations.json
6 | package-lock.*
7 | .htaccess
8 |
--------------------------------------------------------------------------------
/.vscode/tasks.json:
--------------------------------------------------------------------------------
1 | {
2 | // See https://go.microsoft.com/fwlink/?LinkId=733558
3 | // for the documentation about the tasks.json format
4 | "version": "2.0.0",
5 | "tasks": [
6 | {
7 | "label": "SCSS build",
8 | "type": "shell",
9 | "command": "sass css/layout.scss css/layout.css",
10 | "group": "build",
11 | "problemMatcher": []
12 | }
13 | ]
14 | }
--------------------------------------------------------------------------------
/CODE_OF_CONDUCT.md:
--------------------------------------------------------------------------------
1 | # Contributor Covenant Code of Conduct
2 |
3 | ## Our Pledge
4 |
5 | In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
6 |
7 | ## Our Standards
8 |
9 | Examples of behavior that contributes to creating a positive environment include:
10 |
11 | * Using welcoming and inclusive language
12 | * Being respectful of differing viewpoints and experiences
13 | * Gracefully accepting constructive criticism
14 | * Focusing on what is best for the community
15 | * Showing empathy towards other community members
16 |
17 | Examples of unacceptable behavior by participants include:
18 |
19 | * The use of sexualized language or imagery and unwelcome sexual attention or advances
20 | * Trolling, insulting/derogatory comments, and personal or political attacks
21 | * Public or private harassment
22 | * Publishing others' private information, such as a physical or electronic address, without explicit permission
23 | * Other conduct which could reasonably be considered inappropriate in a professional setting
24 |
25 | ## Our Responsibilities
26 |
27 | Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
28 |
29 | Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
30 |
31 | ## Scope
32 |
33 | This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
34 |
35 | ## Enforcement
36 |
37 | Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at pt@virtualgis.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
38 |
39 | Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
40 |
41 | ## Attribution
42 |
43 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
44 |
45 | [homepage]: http://contributor-covenant.org
46 | [version]: http://contributor-covenant.org/version/1/4/
47 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to Maple
2 |
3 | :tada: First off, thanks for taking the time to contribute! :tada:
4 |
5 | ## How can I contribute?
6 |
7 | Maple contributors are expected to follow the [Collective Code of Construction Contract (C4)](https://rfc.zeromq.org/spec:42/C4/). You should read the document before making a pull request.
8 |
9 | [Chat with us on Gitter](https://gitter.im/virtualgis/maple) to find out how you can help, or take a look at the list of [open issues](https://github.com/virtualgis/maple/issues).
10 |
11 | ## Code of Conduct
12 |
13 | This project adheres to the [Contributor Covenant](CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM php:7.2-apache
2 |
3 | RUN apt update && apt install -y gdal-bin && a2enmod rewrite && a2enmod ssl
4 |
5 | COPY . /var/www/html/
6 |
7 | VOLUME ["/var/www/html/config/projects"]
8 |
--------------------------------------------------------------------------------
/config/.gitignore:
--------------------------------------------------------------------------------
1 | projects/
2 |
--------------------------------------------------------------------------------
/config/defaults/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "configuration": {
3 | "title": "Map Viewer",
4 | "subtitle": "",
5 | "disclaimer": "",
6 | "logo": "",
7 | "map": {
8 | "attributionvisible": true,
9 | "esrilogovisible": false,
10 | "openhandcursorvisible": true,
11 | "scalebarvisible": true,
12 | "scalebar": "default",
13 | "zoomslidervisible": false,
14 | "wraparound180": true,
15 | "addarcgisbasemaps": false
16 | }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/config/projects/default/popups.json:
--------------------------------------------------------------------------------
1 | {
2 | "configuration": {
3 | "popups/States": {
4 | "configuration": {
5 | "fields": {
6 | "field": [
7 | {
8 | "alias": "Abbreviation:",
9 | "name": "stusps",
10 | "visible": true
11 | },
12 | {
13 | "alias": "Land Area (m²):",
14 | "name": "aland",
15 | "visible": true,
16 | "format": {
17 | "precision": 0,
18 | "usethousandsseparator": true
19 | }
20 | }
21 | ]
22 | },
23 | "title": "{name}"
24 | }
25 | }
26 | }
27 | }
--------------------------------------------------------------------------------
/config/projects/default/profiles/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "configuration": {
3 | "title": "Maple Demo",
4 | "map": {
5 | "initialextent": "-15099031.9184 78385.2938 -4655981.2688 6910530.3705",
6 | "wkid": 102100,
7 | "basemaps": {
8 | "layer": [
9 | {
10 | "type": "tiled",
11 | "label": "Imagery",
12 | "icon": "https://www.arcgis.com/sharing/rest/content/items/86de95d4e0244cba80f0fa2c9403a7b2/info/thumbnail/tempimagery.jpg",
13 | "url": "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer",
14 | "visible": true
15 | },
16 | {
17 | "type": "tiled",
18 | "label": "Streets",
19 | "icon": "https://www.arcgis.com/sharing/rest/content/items/d8855ee4d3d74413babfb0f41203b168/info/thumbnail/world_street_map.jpg",
20 | "url": "https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer",
21 | "visible": false
22 | }
23 | ]
24 | },
25 | "operationallayers": {
26 | "layer": [
27 | {
28 | "type": "feature",
29 | "label": "United States",
30 | "url": "https://services6.arcgis.com/lyROaIRQY8YJWdou/arcgis/rest/services/us_states/FeatureServer/0",
31 | "visible": true,
32 | "popupconfig": "popups/States.xml"
33 | }
34 | ]
35 | }
36 | },
37 | "widgetcontainer": {
38 | "widget": [
39 | {
40 | "url": "widgets/LayerList/LayerListWidget.swf",
41 | "config": "widgets/LayerList/LayerListWidget.xml",
42 | "label": "Layer List",
43 | "icon": "assets/images/i_layers.png"
44 | },
45 | {
46 | "url": "widgets/Bookmark/BookmarkWidget.swf",
47 | "config": "widgets/Bookmark/BookmarkWidget.xml",
48 | "label": "Jump To Location",
49 | "icon": "/images/bookmarks.svg"
50 | },
51 | {
52 | "url": "widgets/eMapSwitcher/eMapSwitcherWidget.swf",
53 | "config": "widgets/eMapSwitcher/eMapSwitcherWidget.xml",
54 | "label": "Basemaps",
55 | "icon": "assets/images/i_basemaps.png"
56 | }
57 | ]
58 | }
59 | }
60 | }
--------------------------------------------------------------------------------
/config/projects/default/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "profiles": {
3 | "default": "config.json"
4 | },
5 | "server": {
6 | "authentication": "public",
7 | "supportEmail": "support@changeme.com"
8 | }
9 | }
--------------------------------------------------------------------------------
/config/projects/default/widgets/Bookmark/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/Bookmark/BookmarkWidget": {
3 | "configuration": {
4 | "bookmarks": {
5 | "bookmark": [
6 | {
7 | "name": "Minnesota",
8 | "$t": "-11171997.7312 5388007.3720 -9581297.1725 6312808.5006"
9 | },
10 | {
11 | "name": "Florida",
12 | "$t": "-10068755.6916 2796890.8242 -8595771.4476 3653254.0686"
13 | }
14 | ]
15 | }
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/config/projects/default/widgets/LayerList/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/LayerList/LayerListWidget": {
3 | "configuration": {
4 | }
5 | }
6 | }
--------------------------------------------------------------------------------
/config/projects/default/widgets/eMapSwitcher/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/eMapSwitcher/eMapSwitcherWidget": {
3 | "configuration": {
4 | }
5 | }
6 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/assets/images/GIS-desktop-mobile.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/config/projects/superiordemo/assets/images/GIS-desktop-mobile.jpg
--------------------------------------------------------------------------------
/config/projects/superiordemo/assets/images/crossing.svg:
--------------------------------------------------------------------------------
1 |
2 |
57 |
--------------------------------------------------------------------------------
/config/projects/superiordemo/assets/images/highway.svg:
--------------------------------------------------------------------------------
1 |
2 |
70 |
--------------------------------------------------------------------------------
/config/projects/superiordemo/assets/images/hybrid.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/config/projects/superiordemo/assets/images/hybrid.jpg
--------------------------------------------------------------------------------
/config/projects/superiordemo/profiles/config.override.json:
--------------------------------------------------------------------------------
1 | {
2 | "includeWidgets": [
3 | {
4 | "url": "widgets/Routes/RoutesWidget.swf",
5 | "config": "widgets/Routes/RoutesWidget.xml"
6 | }
7 | ]
8 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "overrides": {
3 | "widgets/Search/overrides": true,
4 | "profiles/config": true
5 | },
6 | "profiles": {
7 | "multiple": false,
8 | "default": "config.json"
9 | },
10 | "server": {
11 | "authentication": "userstore",
12 |
13 | "webAdaptor": "https://gis.tdsmn.com/arcgiswebadaptor",
14 |
15 | "security":{
16 | "token":{
17 | "expiration": 360
18 | }
19 | },
20 |
21 | "supportEmail": "support@mycompany.com"
22 | }
23 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/Bookmark/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/Bookmark/BookmarkWidget": {
3 | "configuration": {
4 | "bookmarks": {
5 | "bookmark": [
6 | {
7 | "name": "Nemaji River Crossing",
8 | "$t": "-10248706.929687051 5888110.469802017 -10248339.076488541 5888310.8184190625"
9 | },
10 | {
11 | "name": "Terminal 1",
12 | "$t": "-10248776.400182337 5890359.091681088 -10248040.69378499 5890759.788915358"
13 | }
14 | ]
15 | }
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/ElevationProfile/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/ElevationProfile/ElevationProfileWidget_1": {
3 | "configuration": {
4 | }
5 | }
6 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/ImportDataFile/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/ImportDataFile/ImportDataFileWidget": {
3 | "configuration": {
4 | "xfield": "Longitude",
5 | "yfield": "Latitude",
6 | "MGRSfield": "MGRS",
7 | "titlefield": "Title",
8 | "linkfield": "Link",
9 | "linkalias": {},
10 | "zoomscale": 8000,
11 | "mgrsenabled": true,
12 | "inputdataprojection": {
13 | "proj": [
14 | {
15 | "name": "Lat/Long",
16 | "wkid": 4326
17 | },
18 | {
19 | "name": "State Plane Illinois East USFT",
20 | "wkid": 3443
21 | },
22 | {
23 | "name": "Web Mercator",
24 | "wkid": 102100
25 | }
26 | ]
27 | },
28 | "defaultproj": 3443
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/LayerList/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/LayerList/LayerListWidget_LayerList1": {
3 | "configuration": {
4 | }
5 | }
6 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/Legend/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/Legend/LegendWidget_2": {
3 | "configuration": {
4 | "usebasemaps": false,
5 | "useoperationallayers": true,
6 | "respectcurrentmapscale": true,
7 | "excludelayer": [
8 | "Plats",
9 | "Oct. 2012 Imagery",
10 | "Soils",
11 | "Hidden Search"
12 | ]
13 | }
14 | }
15 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/Link/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/Link/VirtualGIS_Home_Page": {
3 | "configuration": {
4 | "linkurl": "https://www.virtualgis.io"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/Locate/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/Locate/LocateWidget_1": {
3 | "configuration": {
4 | "locator": "https://geocode.arcgis.com/ArcGIS/rest/services/World/GeocodeServer",
5 | "minscore": 40,
6 | "zoomscale": 10000
7 | }
8 | }
9 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/Measure/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/Measure/MeasureWidget_2": {
3 | "configuration": {
4 | }
5 | }
6 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/Print/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/Print/PrintWidget_2": {
3 | "configuration": {
4 | "taskurl": "https://gis.tdsmn.com/arcgiswebadaptor/rest/services/TDS_Utilities/SecureExportWebMap/GPServer/Export%20Web%20Map"
5 | }
6 | }
7 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/Routes/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/Routes/RoutesWidget": {
3 | "configuration": {
4 | "serviceUrl": "https://gis.tdsmn.com/arcgiswebadaptor/rest/services/Superior_Demo/Superior_Demo_Main/MapServer/exts/DSUtility/routeLayers/2",
5 | "menuLabel": "Stationing",
6 | "routeIdFieldName": "LAYER",
7 | "routeId": "PIPE_CL",
8 | "searchPlaceholder": "Stationing (ex. 1+00)",
9 | "zoomScale": 3000,
10 | "tolerance": 10,
11 | "instructionsText": "Press the button below and then select a point along the centerline to get stationing values, or type a stationing value in the search box to jump to the corresponding location.",
12 | "popup": {
13 | "measurementFieldLabel": "Stationing",
14 | "displayLatLon": true,
15 | "displayOriginalExtent": false,
16 | "displayElevation": false,
17 | "elevationFieldLabel": "Elevation (M)"
18 | }
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/Search/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/Search/SearchWidget_Demo": {
3 | "configuration": {
4 | "zoomscale": 9000,
5 | "shareresults": false,
6 | "initialview": "text",
7 | "layers": {
8 | "layer": [
9 | {
10 | "name": "Search by Parcel Number",
11 | "url": "https://gis.tdsmn.com/arcgiswebadaptor/rest/services/Superior_Demo/Superior_Demo_Main/MapServer/9",
12 | "expression": "lower(PARCELNO) like lower('%[value]%')",
13 | "textsearchlabel": "Enter Tract Number (Example: P002)",
14 | "titlefield": "PARCELNO",
15 | "fields": {
16 | "field": [
17 | {
18 | "name": "PARCELNO",
19 | "alias": "Parcel Number"
20 | },
21 | {
22 | "name": "Owner",
23 | "alias": "Owner"
24 | }
25 | ]
26 | },
27 | "orderbyfields": "PARCELNO ASC"
28 | }
29 | ,
30 | {
31 | "name": "Search by Owner Name",
32 | "url": "https://gis.tdsmn.com/arcgiswebadaptor/rest/services/Superior_Demo/Superior_Demo_Main/MapServer/9",
33 | "expression": "lower(Owner) like lower('%[value]%')",
34 | "textsearchlabel": "Enter Land Owner Name (Example: John Doe)",
35 | "titlefield": "Owner",
36 | "fields": {
37 | "field": [
38 | {
39 | "name": "Owner",
40 | "alias": "Owner"
41 | },
42 | {
43 | "name": "PARCELNO",
44 | "alias": "Parcel Number"
45 | }
46 | ]
47 | },
48 | "orderbyfields": "PARCELNO ASC"
49 | }
50 | ]
51 | }
52 | }
53 | }
54 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/Search/overrides.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/Search/SearchWidget_Demo": {
3 | "fieldTags": {
4 | "Search by Parcel Number": {
5 | "Owner": {
6 | "id": true
7 | }
8 | },
9 |
10 | "Search by Owner Name":{
11 | "PARCELNO": {
12 | "id": true
13 | }
14 | }
15 | }
16 | }
17 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/WMSLooping/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/WMSLooping/WMSLoopingWidget": {
3 | "configuration": {
4 | "url": "https://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi",
5 | "version": "1.1.1",
6 | "imgFormat": "png",
7 | "dateFormatString": "YYYY-MM-DD L:NN A",
8 | "layersToRotate": {
9 | "layer": [
10 | {
11 | "offsetMins": -50,
12 | "$t": "nexrad-n0r-900913-m50m"
13 | },
14 | {
15 | "offsetMins": -45,
16 | "$t": "nexrad-n0r-900913-m45m"
17 | },
18 | {
19 | "offsetMins": -40,
20 | "$t": "nexrad-n0r-900913-m40m"
21 | },
22 | {
23 | "offsetMins": -35,
24 | "$t": "nexrad-n0r-900913-m35m"
25 | },
26 | {
27 | "offsetMins": -30,
28 | "$t": "nexrad-n0r-900913-m30m"
29 | },
30 | {
31 | "offsetMins": -25,
32 | "$t": "nexrad-n0r-900913-m25m"
33 | },
34 | {
35 | "offsetMins": -20,
36 | "$t": "nexrad-n0r-900913-m20m"
37 | },
38 | {
39 | "offsetMins": -15,
40 | "$t": "nexrad-n0r-900913-m15m"
41 | },
42 | {
43 | "offsetMins": -10,
44 | "$t": "nexrad-n0r-900913-m10m"
45 | },
46 | {
47 | "offsetMins": -5,
48 | "$t": "nexrad-n0r-900913-m05m"
49 | },
50 | {
51 | "offsetMins": 0,
52 | "$t": "nexrad-n0r-900913"
53 | }
54 | ]
55 | },
56 | "timerMsPerLayer": 2000,
57 | "startUpState": "running",
58 | "opacityDefault": 90,
59 | "about": "WMS radar reflectance service courtesy of Iowa State University. Click here for details.",
60 | "legend": {
61 | "visible": true,
62 | "imgURL": "https://mesonet.agron.iastate.edu/docs/nexrad_composites/reflect_ramp.png",
63 | "imgRotationDegrees": -90,
64 | "minLabel": "min",
65 | "maxLabel": "max"
66 | }
67 | }
68 | }
69 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/eDraw/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/eDraw/eDrawWidget_1": {
3 | "configuration": {
4 | }
5 | }
6 | }
--------------------------------------------------------------------------------
/config/projects/superiordemo/widgets/eMapSwitcher/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "widgets/eMapSwitcher/eMapSwitcherWidget": {
3 | "configuration": {
4 | }
5 | }
6 | }
--------------------------------------------------------------------------------
/css/.gitignore:
--------------------------------------------------------------------------------
1 | layout.css.map
2 |
3 |
--------------------------------------------------------------------------------
/css/fonts/caret-square-o-down.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
60 |
--------------------------------------------------------------------------------
/css/fonts/checkbox-checked.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
66 |
--------------------------------------------------------------------------------
/css/fonts/checkbox-unchecked.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
60 |
--------------------------------------------------------------------------------
/css/fonts/icomoon.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/css/fonts/icomoon.eot
--------------------------------------------------------------------------------
/css/fonts/icomoon.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/css/fonts/icomoon.ttf
--------------------------------------------------------------------------------
/css/fonts/icomoon.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/css/fonts/icomoon.woff
--------------------------------------------------------------------------------
/gulpfile.js:
--------------------------------------------------------------------------------
1 | 'use strict';
2 |
3 | var gulp = require('gulp');
4 | var sass = require('gulp-sass');
5 |
6 | gulp.task('sass', function () {
7 | return gulp.src('./css/layout.scss')
8 | .pipe(sass().on('error', sass.logError))
9 | .pipe(gulp.dest('./css'));
10 | });
11 |
12 | gulp.task('sass:watch', function () {
13 | gulp.watch('./css/layout.scss', ['sass']);
14 | });
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/icon.png
--------------------------------------------------------------------------------
/images/arrow-down.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/arrow-up.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/arrow.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/backward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/bookmarks.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
63 |
--------------------------------------------------------------------------------
/images/close-popup.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/close.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/dijit/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2005-2017, JS Foundation All rights reserved.
2 |
3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4 |
5 | Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6 | Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
7 | Neither the name of the JS Foundation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
8 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--------------------------------------------------------------------------------
/images/dijit/calendarArrows.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/dijit/calendarArrows.png
--------------------------------------------------------------------------------
/images/dijit/icons/editorIconsDisabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/dijit/icons/editorIconsDisabled.png
--------------------------------------------------------------------------------
/images/dijit/icons/editorIconsEnabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/dijit/icons/editorIconsEnabled.png
--------------------------------------------------------------------------------
/images/download2.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
67 |
--------------------------------------------------------------------------------
/images/dragndrop-add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/dragndrop-add.png
--------------------------------------------------------------------------------
/images/dragndrop-add.svg:
--------------------------------------------------------------------------------
1 |
2 |
65 |
--------------------------------------------------------------------------------
/images/dragndrop-denied.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/draw.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
63 |
--------------------------------------------------------------------------------
/images/draw/circle.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
73 |
--------------------------------------------------------------------------------
/images/draw/ellipse.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
74 |
--------------------------------------------------------------------------------
/images/draw/extent.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
76 |
--------------------------------------------------------------------------------
/images/draw/freepoly.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
73 |
--------------------------------------------------------------------------------
/images/draw/gpslocation.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
81 |
--------------------------------------------------------------------------------
/images/draw/point.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
73 |
--------------------------------------------------------------------------------
/images/draw/poly.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
82 |
--------------------------------------------------------------------------------
/images/draw/rect.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
76 |
--------------------------------------------------------------------------------
/images/draw/text.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
78 |
--------------------------------------------------------------------------------
/images/fileicons/7z.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/7z.png
--------------------------------------------------------------------------------
/images/fileicons/README:
--------------------------------------------------------------------------------
1 | http://www.splitbrain.org/projects/file_icons
2 |
3 | Released to the Public Domain
4 | Free to use. Provided as is. No warranties.
5 |
6 | Note: The big majority of icons where created by the creators listed
7 | below. Only a few ones where found on the net. They were too
8 | widespread to determine the original author and thus were
9 | considered public domain.
10 | If you are the author of one of those icons just send a short
11 | mail to either be included in the list below or have the icon
12 | removed from the package.
13 |
14 | Creators:
15 |
16 | Andreas Gohr
17 | Michael Klier
18 | Andreas Barton
19 | Hubert Chathi
20 | Johan Koehne
21 | Rudi von Staden
22 | Daniel Darvish
23 | Andy Pascall
24 | Seth
25 | David Carella
26 | Tom N. Harris
27 | Brandon Carmon Colvin
28 |
--------------------------------------------------------------------------------
/images/fileicons/ai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/ai.png
--------------------------------------------------------------------------------
/images/fileicons/aiff.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/aiff.png
--------------------------------------------------------------------------------
/images/fileicons/asc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/asc.png
--------------------------------------------------------------------------------
/images/fileicons/audio.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/audio.png
--------------------------------------------------------------------------------
/images/fileicons/bin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/bin.png
--------------------------------------------------------------------------------
/images/fileicons/bz2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/bz2.png
--------------------------------------------------------------------------------
/images/fileicons/c.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/c.png
--------------------------------------------------------------------------------
/images/fileicons/cfc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/cfc.png
--------------------------------------------------------------------------------
/images/fileicons/cfm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/cfm.png
--------------------------------------------------------------------------------
/images/fileicons/chm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/chm.png
--------------------------------------------------------------------------------
/images/fileicons/class.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/class.png
--------------------------------------------------------------------------------
/images/fileicons/conf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/conf.png
--------------------------------------------------------------------------------
/images/fileicons/cpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/cpp.png
--------------------------------------------------------------------------------
/images/fileicons/cs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/cs.png
--------------------------------------------------------------------------------
/images/fileicons/css.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/css.png
--------------------------------------------------------------------------------
/images/fileicons/csv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/csv.png
--------------------------------------------------------------------------------
/images/fileicons/deb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/deb.png
--------------------------------------------------------------------------------
/images/fileicons/divx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/divx.png
--------------------------------------------------------------------------------
/images/fileicons/doc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/doc.png
--------------------------------------------------------------------------------
/images/fileicons/dot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/dot.png
--------------------------------------------------------------------------------
/images/fileicons/eml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/eml.png
--------------------------------------------------------------------------------
/images/fileicons/enc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/enc.png
--------------------------------------------------------------------------------
/images/fileicons/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/file.png
--------------------------------------------------------------------------------
/images/fileicons/gif.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/gif.png
--------------------------------------------------------------------------------
/images/fileicons/gz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/gz.png
--------------------------------------------------------------------------------
/images/fileicons/hlp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/hlp.png
--------------------------------------------------------------------------------
/images/fileicons/htm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/htm.png
--------------------------------------------------------------------------------
/images/fileicons/html.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/html.png
--------------------------------------------------------------------------------
/images/fileicons/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/image.png
--------------------------------------------------------------------------------
/images/fileicons/iso.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/iso.png
--------------------------------------------------------------------------------
/images/fileicons/jar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/jar.png
--------------------------------------------------------------------------------
/images/fileicons/java.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/java.png
--------------------------------------------------------------------------------
/images/fileicons/jpeg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/jpeg.png
--------------------------------------------------------------------------------
/images/fileicons/jpg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/jpg.png
--------------------------------------------------------------------------------
/images/fileicons/js.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/js.png
--------------------------------------------------------------------------------
/images/fileicons/lua.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/lua.png
--------------------------------------------------------------------------------
/images/fileicons/m.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/m.png
--------------------------------------------------------------------------------
/images/fileicons/mm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/mm.png
--------------------------------------------------------------------------------
/images/fileicons/mov.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/mov.png
--------------------------------------------------------------------------------
/images/fileicons/mp3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/mp3.png
--------------------------------------------------------------------------------
/images/fileicons/mpg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/mpg.png
--------------------------------------------------------------------------------
/images/fileicons/odc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/odc.png
--------------------------------------------------------------------------------
/images/fileicons/odf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/odf.png
--------------------------------------------------------------------------------
/images/fileicons/odg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/odg.png
--------------------------------------------------------------------------------
/images/fileicons/odi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/odi.png
--------------------------------------------------------------------------------
/images/fileicons/odp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/odp.png
--------------------------------------------------------------------------------
/images/fileicons/ods.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/ods.png
--------------------------------------------------------------------------------
/images/fileicons/odt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/odt.png
--------------------------------------------------------------------------------
/images/fileicons/ogg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/ogg.png
--------------------------------------------------------------------------------
/images/fileicons/pdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/pdf.png
--------------------------------------------------------------------------------
/images/fileicons/pgp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/pgp.png
--------------------------------------------------------------------------------
/images/fileicons/php.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/php.png
--------------------------------------------------------------------------------
/images/fileicons/pl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/pl.png
--------------------------------------------------------------------------------
/images/fileicons/png.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/png.png
--------------------------------------------------------------------------------
/images/fileicons/ppt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/ppt.png
--------------------------------------------------------------------------------
/images/fileicons/ps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/ps.png
--------------------------------------------------------------------------------
/images/fileicons/py.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/py.png
--------------------------------------------------------------------------------
/images/fileicons/ram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/ram.png
--------------------------------------------------------------------------------
/images/fileicons/rar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/rar.png
--------------------------------------------------------------------------------
/images/fileicons/rb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/rb.png
--------------------------------------------------------------------------------
/images/fileicons/rm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/rm.png
--------------------------------------------------------------------------------
/images/fileicons/rpm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/rpm.png
--------------------------------------------------------------------------------
/images/fileicons/rtf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/rtf.png
--------------------------------------------------------------------------------
/images/fileicons/sig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/sig.png
--------------------------------------------------------------------------------
/images/fileicons/sql.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/sql.png
--------------------------------------------------------------------------------
/images/fileicons/swf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/swf.png
--------------------------------------------------------------------------------
/images/fileicons/sxc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/sxc.png
--------------------------------------------------------------------------------
/images/fileicons/sxd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/sxd.png
--------------------------------------------------------------------------------
/images/fileicons/sxi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/sxi.png
--------------------------------------------------------------------------------
/images/fileicons/sxw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/sxw.png
--------------------------------------------------------------------------------
/images/fileicons/tar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/tar.png
--------------------------------------------------------------------------------
/images/fileicons/tex.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/tex.png
--------------------------------------------------------------------------------
/images/fileicons/tgz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/tgz.png
--------------------------------------------------------------------------------
/images/fileicons/txt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/txt.png
--------------------------------------------------------------------------------
/images/fileicons/vcf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/vcf.png
--------------------------------------------------------------------------------
/images/fileicons/video.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/video.png
--------------------------------------------------------------------------------
/images/fileicons/vsd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/vsd.png
--------------------------------------------------------------------------------
/images/fileicons/wav.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/wav.png
--------------------------------------------------------------------------------
/images/fileicons/wma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/wma.png
--------------------------------------------------------------------------------
/images/fileicons/wmv.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/wmv.png
--------------------------------------------------------------------------------
/images/fileicons/xls.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/xls.png
--------------------------------------------------------------------------------
/images/fileicons/xml.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/xml.png
--------------------------------------------------------------------------------
/images/fileicons/xpi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/xpi.png
--------------------------------------------------------------------------------
/images/fileicons/xvid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/xvid.png
--------------------------------------------------------------------------------
/images/fileicons/zip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/fileicons/zip.png
--------------------------------------------------------------------------------
/images/folder-plus.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
59 |
--------------------------------------------------------------------------------
/images/folder.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
62 |
--------------------------------------------------------------------------------
/images/forward.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/layers.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
71 |
--------------------------------------------------------------------------------
/images/legend.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
79 |
--------------------------------------------------------------------------------
/images/location.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
59 |
--------------------------------------------------------------------------------
/images/lock-locked.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/lock-unlocked.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/maple.gpl:
--------------------------------------------------------------------------------
1 | GIMP Palette
2 | Name: maple
3 | Columns: 0
4 | #
5 | 247 247 247 Untitled
6 | 103 169 207 Untitled
7 | 103 207 135 Untitled
8 | 239 98 98 Untitled
9 | 239 138 98 Untitled
10 | 239 239 239 Untitled
11 | 214 214 214 Untitled
12 | 199 199 199 Untitled
13 | 239 98 182 Untitled
14 | 255 255 255 Untitled
15 | 41 146 207 Untitled
16 | 41 207 92 Untitled
17 | 239 47 47 Untitled
18 | 239 102 47 Untitled
19 | 154 154 154 Untitled
20 | 127 127 127 Untitled
21 | 101 101 101 Untitled
22 | 78 78 78 Untitled
23 | 51 51 51 Untitled
24 | 25 25 25 Untitled
25 |
--------------------------------------------------------------------------------
/images/maptile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/maptile.png
--------------------------------------------------------------------------------
/images/maximize.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/menu.svg:
--------------------------------------------------------------------------------
1 |
2 |
32 |
--------------------------------------------------------------------------------
/images/pause.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/play.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/plus.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/power-off.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/progressBarAnim.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/progressBarAnim.gif
--------------------------------------------------------------------------------
/images/route.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
94 |
--------------------------------------------------------------------------------
/images/simple-line.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/spinner.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/virtualgis/maple/c1ca3d201f5f63a2248deea5b04c57832d673b28/images/spinner.gif
--------------------------------------------------------------------------------
/images/spinner.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/square-area.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/stop.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
72 |
--------------------------------------------------------------------------------
/images/switch.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/trash.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/js/config/server.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["maple/config/project"], function(project){
18 | "use strict";
19 | if (!project.config) console.error("Project hasn't loaded yet. Something is out of order...");
20 | return project.config.server;
21 | });
--------------------------------------------------------------------------------
/js/controllers/app.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["dojo/has", "dojo/dom-class", "esri/config",
18 | "maple/config/project", "maple/helpers/auth",
19 | "maple/helpers/utils", "maple/config/server",
20 | "esri/tasks/GeometryService",
21 | "jquery",
22 | "maple/patches/esri/dijit/Popup",
23 | "maple/patches/esri/dijit/PopupMobile",
24 | "maple/patches/esri/dijit/Legend",
25 | "maple/patches/esri/dijit/editing/Editor",
26 | "maple/patches/esri/dijit/editing/AttachmentEditor",
27 | "maple/patches/esri/dijit/editing/AttributeInspector",
28 | "maple/patches/esri/dijit/editing/tools/Selection",
29 | "maple/patches/esri/dijit/editing/toolbars/Drawing"],
30 | function(has, domClass, esriConfig, project, auth, utils, server, GeometryService, $){
31 | "use strict";
32 |
33 | esriConfig.defaults.map.panDuration = 1; // time in milliseconds, default panDuration: 250
34 | esriConfig.defaults.map.panRate = 1; // default panRate: 25
35 | esriConfig.defaults.map.zoomDuration = 250; // default zoomDuration: 500
36 | esriConfig.defaults.map.zoomRate = 1; // default zoomRate: 25
37 |
38 | esriConfig.defaults.geometryService = new GeometryService(utils.get(project, 'config.geometryservice.url', 'https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer'));
39 | esriConfig.defaults.kmlService = utils.get(project, 'config.kmlservice.url', 'https://utility.arcgis.com/sharing/kml');
40 |
41 | // Make sure timeouts are set or all XHR requests, not just
42 | // those made with esri/request
43 | var oldXhr = dojo.xhr;
44 | dojo.xhr = function(method, options){
45 | var opts = options || {};
46 | opts.timeout = esriConfig.defaults.io.timeout;
47 | return oldXhr(method, opts);
48 | };
49 |
50 | return {
51 | init: function(){
52 | document.body.className += ' loaded';
53 |
54 | if (has("touch")) domClass.add(document.documentElement, "touch");
55 | domClass.add(document.documentElement, "auth-" + project.config.server.authentication);
56 |
57 | console.log("Name: " + project.config.title);
58 | console.log("App Init Completed");
59 |
60 | document.title = project.config.title;
61 |
62 | auth.initialize(project);
63 | }
64 | };
65 | }
66 | );
--------------------------------------------------------------------------------
/js/controllers/postloginmessage.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["dojo/dom", "dojo/dom-class",
18 | "maple/config/project",
19 | "maple/helpers/utils",
20 | "dijit/registry",
21 | "dojox/mobile/TransitionEvent",
22 | "maple/helpers/WheelScrollableView"
23 | ], function(dom, domClass,
24 | project, utils,
25 | registry,
26 | TransitionEvent){
27 | "use strict";
28 | var standBy;
29 |
30 | return {
31 | title: project.get("config.postLoginMessage.title", ""),
32 | continueButtonLabel: project.get("config.postLoginMessage.continueButtonLabel", "Continue"),
33 |
34 | init: function(){
35 | standBy = registry.byId("loginStandby");
36 | },
37 |
38 | beforeActivate: function(){
39 | this.message.innerHTML = project.get("config.postLoginMessage.message", "This is a message to be shown after login.");
40 | },
41 |
42 | afterActivate: function(){
43 | standBy.hide();
44 | },
45 |
46 | afterDeactivate: function(){
47 | standBy.hide();
48 | },
49 |
50 | btnContinuePressed: function(e){
51 | if (localStorage){
52 | var hashCode = utils.hashCode(this.message.innerHTML);
53 | localStorage.setItem("shownPostLoginMessage_" + project.config.loadedConfiguration + "_" + hashCode, "1");
54 | }
55 | standBy.show();
56 | new TransitionEvent(e.target, {
57 | target: "app,map",
58 | transition: "slide",
59 | transitionDir: 1
60 | }).dispatch();
61 | }
62 | };
63 | }
64 | );
--------------------------------------------------------------------------------
/js/helpers/WheelScrollableView.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define([
18 | "dojo/_base/declare",
19 | "dojo/has",
20 | "dojo/on",
21 | "dojox/mobile/ScrollableView"
22 | ], function(declare, has, on, ScrollableView){
23 | return declare([ScrollableView], {
24 | init: function(params){
25 | var self = this;
26 |
27 | this.inherited(arguments);
28 | if(!has("touch")){
29 | var handleWheel = function(e){
30 | e.stopPropagation();
31 |
32 | var pos = self.getPos();
33 | var dim = self.getDim();
34 | var deltaY = (e.deltaY ? -e.deltaY : e.wheelDelta) > 0 ? 40 : -40;
35 | var newY = pos.y + deltaY;
36 | if (newY <= 0 && Math.abs(newY) <= dim.o.h + 40){ // stop scrolling at the top/bottom
37 | self.scrollTo({x: pos.x, y: newY});
38 | }
39 | };
40 |
41 | on(this.domNode, "wheel", handleWheel);
42 | }
43 | }
44 | });
45 | });
--------------------------------------------------------------------------------
/js/helpers/login.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["maple/config/project", "maple/helpers/utils"],
18 | function(project, utils){
19 | "use strict";
20 | return {
21 | needToShowPostLoginMessage: function(){
22 | var postLoginMessage = project.config.postLoginMessage;
23 | if (postLoginMessage){
24 | if (postLoginMessage.frequency === "oneTime" && localStorage){
25 | var hashCode = utils.hashCode(postLoginMessage.message);
26 | if (localStorage.getItem("shownPostLoginMessage_" + project.config.loadedConfiguration + "_" + hashCode)){
27 | return false;
28 | }else{
29 | // we will call localStorage.setItem in postLoginMessage.js
30 | return true;
31 | }
32 | }else{
33 | return true;
34 | }
35 | }else{
36 | return false;
37 | }
38 | },
39 |
40 | reloadNewConfiguration: function(jsonConfigFile){
41 | var self = this;
42 |
43 | // We load the new configuration to check for post login messages
44 | // then we refresh the whole page to save the jsonConfigFile parameter
45 | // in case the user later refreshes the page (F5).
46 |
47 | function reloadAppTo(targetState){
48 | location.href = "/?p=" + project.config.name + "&c=" + jsonConfigFile.replace(".json", "") + "#" + targetState;
49 | }
50 |
51 | project.loadProfile(jsonConfigFile, function(){
52 | var targetState = self.needToShowPostLoginMessage() ? "app,postloginmessage" : "app,map";
53 | reloadAppTo(targetState);
54 | }, function(){
55 | // on error we simply reload (without caring about targetState)
56 | reloadAppTo("app,map");
57 | });
58 | }
59 | };
60 | }
61 | );
--------------------------------------------------------------------------------
/js/helpers/map/geometries.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["dojo/_base/lang",
18 | "dojo/Deferred",
19 | "esri/config",
20 | "esri/tasks/ProjectParameters"],
21 | function(lang, Deferred, esriConfig, ProjectParameters){
22 | "use strict";
23 |
24 | return {
25 | reproject: function(geometries, targetSpatialReference){
26 | var deferred = new Deferred();
27 |
28 | // Need to reproject
29 | if (esriConfig.defaults.geometryService) {
30 | esriConfig.defaults.geometryService.project(lang.mixin(new ProjectParameters(), {
31 | geometries: geometries,
32 | outSR: targetSpatialReference
33 | }), function (r) {
34 | deferred.resolve(r);
35 | }, function (e) {
36 | deferred.reject("Could not project geometry");
37 | });
38 | }else{
39 | deferred.reject("No geometryservice is set");
40 | }
41 |
42 | return deferred;
43 | }
44 | };
45 | });
--------------------------------------------------------------------------------
/js/helpers/map/search.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["dojo/_base/array", "maple/config/project",
18 | "esri/layers/FeatureLayer", "maple/helpers/map/infoTemplate", "maple/helpers/utils"],
19 | function(array, project, FeatureLayer, infoTemplate, Utils){
20 | "use strict";
21 |
22 | var search = project.get("config.widgets.Search.primary", {});
23 |
24 | // Search for a field that contains a particular flag set to true
25 | // @return field's name or null if no flag is found in any field
26 | function findField(fields, flag){
27 | var last;
28 | if (array.some(fields, function(field){
29 | last = field;
30 | return field.name && field[flag] === true;
31 | })){
32 | return last.name;
33 | }else {
34 | return null;
35 | }
36 | }
37 |
38 | return {
39 | // Build source list to allow search on a map
40 | // these are the sources that can be searched.
41 | getSources: function(){
42 | if (!search.layers || !search.layers.layer){
43 | console.warn("No search widget configuration available. No map sources will be available.");
44 | return [];
45 | }
46 |
47 | var sources = [];
48 | array.forEach(search.layers.layer, function(layer){
49 | if (layer.exclude) return;
50 |
51 | var displayField = findField(layer.fields.field, "display") || layer.titlefield;
52 | var idField = findField(layer.fields.field, "id") || "";
53 | Utils.arrayify(layer, "orderbyfields");
54 |
55 | sources.push({
56 | featureLayer: new FeatureLayer(layer.url),
57 | searchFields: [layer.titlefield],
58 | displayField: displayField,
59 | exactMatch: false,
60 | outFields: [array.map(layer.fields.field, function(field){
61 | return field.name;
62 | })],
63 | name: layer.name,
64 | placeholder: layer.textsearchlabel,
65 | maxResults: "foo", // per ESRI support, hack to disable pagination
66 |
67 | expression: layer.expression,
68 | orderByFields: layer.orderbyfields,
69 |
70 | idField: idField,
71 |
72 | infoTemplate: infoTemplate.create("${" + layer.titlefield + "}", layer.fields.field, {
73 | allVisible: true
74 | }),
75 |
76 | enableSuggestions: true,
77 | minCharacters: 0
78 | });
79 | });
80 |
81 | return sources;
82 | }
83 | };
84 | });
--------------------------------------------------------------------------------
/js/patches/esri/dijit/Legend.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["esri/dijit/Legend", "maple/helpers/utils"],
18 | function(Legend, utils) {
19 | "use strict";
20 |
21 | // Use HTTPS for the ESRI's utility URL
22 | Legend.prototype._legendUrl = Legend.prototype._legendUrl.replace(/^http:\/\//, "https://");
23 | }
24 | );
--------------------------------------------------------------------------------
/js/patches/esri/dijit/Popup.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["esri/dijit/Popup", "maple/helpers/utils",
18 | "dojo/topic", "dojo/query", "dojo/NodeList-dom"],
19 | function(Popup, utils, topic, query) {
20 | "use strict";
21 |
22 | // Add the ability to enable/disable the zoom button
23 | // when showing a popup (desktop only)
24 | utils.intercept(Popup, "show", function(original, args){
25 | original();
26 |
27 | var options = args[2],
28 | zoomTo = query(".action.zoomTo", this.domNode);
29 | if (zoomTo){
30 | if (options && options.hideZoom){
31 | zoomTo.addClass("hide");
32 | }else{
33 | zoomTo.removeClass("hide");
34 | }
35 | }
36 | });
37 |
38 | // Emit an event when the popup closes
39 | utils.intercept(Popup, "hide", function(original){
40 | if (this.isShowing){
41 | topic.publish("popup/hide");
42 | }
43 | original();
44 | });
45 | }
46 | );
--------------------------------------------------------------------------------
/js/patches/esri/dijit/PopupMobile.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["esri/dijit/PopupMobile", "maple/helpers/utils",
18 | "dojo/topic"],
19 | function(PopupMobile, utils, topic, query) {
20 | "use strict";
21 |
22 | // Emit an event when the popup closes
23 | utils.intercept(PopupMobile, "hide", function(original){
24 | if (this.isShowing){
25 | topic.publish("popup/hide");
26 | }
27 | original();
28 | });
29 | }
30 | );
--------------------------------------------------------------------------------
/js/patches/esri/dijit/editing/AttachmentEditor.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["esri/dijit/editing/AttachmentEditor",
18 | "maple/helpers/utils", "jquery"],
19 | function(AttachmentEditor, utils, $) {
20 | "use strict";
21 |
22 | // Add the ability to enable/disable the zoom button
23 | // when showing a popup (desktop only)
24 | utils.intercept(AttachmentEditor, 'startup', function(original){
25 | original();
26 |
27 | // dojoClick screws up uploads on mobile so we turn it off
28 | this._uploadField.dojoClick = false;
29 | });
30 |
31 | // Strip off leading and trailing parentheses
32 | AttachmentEditor.prototype._deleteBtnHtml = AttachmentEditor.prototype
33 | ._deleteBtnHtml
34 | .replace(/^\(/, "")
35 | .replace(/\)$/, "");
36 |
37 | // Prompt for confirmation on deletion of attachments
38 | utils.intercept(AttachmentEditor, '_deleteAttachment', function(original){
39 | if (window.confirm("Are you sure you want to delete this attachment?")){
40 | original();
41 | }
42 | });
43 |
44 | // Show thumbnails
45 | utils.intercept(AttachmentEditor, ['_onQueryAttachmentInfosComplete', '_onAddAttachmentComplete'], function(original){
46 | original();
47 | $(this._attachmentList).children().each(function(){
48 | var $attachmentLink = $(this).children("a"),
49 | filename = $attachmentLink.text(),
50 | imageUrl = $attachmentLink.attr('href');
51 |
52 | if (/\.(jpg|jpeg|png|gif)$/i.test(filename)){
53 | // Thumbnail!
54 | var thumbUrl = "/server/thumbnail.php?u=" + imageUrl;
55 |
56 | // Set loading
57 | var $image = $(''),
58 | $content = $('');
59 | $content.append($image);
60 | $content.append('
' + filename + '
');
61 |
62 | $attachmentLink.html($content);
63 |
64 | // Load image
65 | var img = new Image();
66 | img.onload = function(){
67 | $image.attr('src', img.src);
68 | };
69 | img.src = thumbUrl;
70 | }
71 | });
72 | });
73 |
74 | }
75 | );
76 |
--------------------------------------------------------------------------------
/js/patches/esri/dijit/editing/AttributeInspector.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["esri/dijit/AttributeInspector", "dojo/has", "maple/helpers/utils"],
18 | function(AttributeInspector, has, utils){
19 | "use strict";
20 |
21 | var confirmMsg = "Are you sure you want to delete this feature?";
22 |
23 | // On mobile, confirm before deleting and
24 | // close popup upon deletion
25 | if (has("touch")){
26 | utils.intercept(AttributeInspector, 'onDeleteBtn', function(original){
27 | if (window.confirm(confirmMsg)){
28 | original();
29 |
30 | // Find map reference so we can get to the popup
31 | if (this.layerInfos && this.layerInfos.length > 0 &&
32 | this.layerInfos[0].featureLayer){
33 | var map = this.layerInfos[0].featureLayer.getMap();
34 | map.infoWindow.hide();
35 |
36 | // For some reason, calling hide() is not enough :/
37 | map.infoWindow._handleNavigationBar({name: "CloseButton"})
38 | }
39 | }
40 | });
41 | }else{
42 | // On desktop, simply confirm
43 | utils.intercept(AttributeInspector, 'onDeleteBtn', function(original){
44 | if (window.confirm(confirmMsg)){
45 | original();
46 | }
47 | });
48 | }
49 | }
50 | );
--------------------------------------------------------------------------------
/js/patches/esri/dijit/editing/Editor.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["esri/dijit/editing/Editor", "dojo/has",
18 | "dojo/topic", "maple/helpers/utils"],
19 | function(Editor, has, topic, utils){
20 | "use strict";
21 |
22 | var preventPopupShow = false;
23 |
24 | // If the user has closed the popup once,
25 | // don't reopen it unless he clears the selection
26 | // This prevents the popup from showing it during
27 | // shape editing
28 | topic.subscribe("popup/hide", function(){
29 | preventPopupShow = true;
30 | });
31 |
32 | topic.subscribe("popup/dontPreventShow", function(){
33 | preventPopupShow = false;
34 | });
35 |
36 | utils.intercept(Editor, '_clearSelection', function(original){
37 | original();
38 | preventPopupShow = false;
39 | });
40 |
41 | utils.intercept(Editor, '_showInfoWindow', function(original){
42 | if (!preventPopupShow){
43 | original();
44 | }
45 | });
46 | }
47 | );
--------------------------------------------------------------------------------
/js/patches/esri/dijit/editing/toolbars/Drawing.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["esri/dijit/editing/toolbars/Drawing",
18 | "dojo/topic", "maple/helpers/utils"],
19 | function(Drawing, topic, utils){
20 | "use strict";
21 |
22 | utils.intercept(Drawing, '_toolFinished', function(original, args){
23 | // If a popup has been closed, we need to make sure
24 | // we can open it with the attributes button
25 | // no matter what.
26 | if (args[0] === "ATTRIBUTES"){
27 | topic.publish("popup/dontPreventShow");
28 | setTimeout(original, 300); // give time for publish to propagate
29 | }else{
30 | original();
31 | }
32 | });
33 | }
34 | );
--------------------------------------------------------------------------------
/js/patches/esri/dijit/editing/tools/Selection.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["esri/dijit/editing/tools/Selection",
18 | "maple/helpers/utils", "dojo/has",
19 | "esri/symbols/SimpleMarkerSymbol", "esri/symbols/SimpleLineSymbol",
20 | "dojo/_base/Color"],
21 | function(Selection, utils, has, SimpleMarkerSymbol, SimpleLineSymbol,
22 | Color) {
23 | "use strict";
24 |
25 | // On mobile, make editing points larger
26 | if (has("touch")){
27 | utils.intercept(Selection, '_createSymbols', function(original){
28 | original();
29 |
30 | this._pointSelectionSymbol = new SimpleMarkerSymbol(SimpleMarkerSymbol.STYLE_CIRCLE,
31 | 24,
32 | new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color([0, 0, 0]), 1), new Color([255, 0, 0, 0.5]));
33 | });
34 | }
35 | }
36 | );
37 |
--------------------------------------------------------------------------------
/js/views/login.html:
--------------------------------------------------------------------------------
1 |
27 |
--------------------------------------------------------------------------------
/js/widgets/Slider.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define("maple/widgets/Slider", [
18 | "dojo/_base/declare", "dojox/mobile/Slider", "dojo/dom",
19 | "dojo/ready", "dojo/_base/lang", "dojo/on", "maple/helpers/utils"],
20 | function(declare, dojoxSlider, dom, ready, lang, on, utils) {
21 | "use strict";
22 |
23 | var postCreate = dojoxSlider.prototype.postCreate;
24 |
25 | return declare("maple/widgets/Slider", [dojoxSlider], {
26 | intermediateChanges: true,
27 | orientation: 'H',
28 |
29 | postCreate: function(){
30 | postCreate.apply(this, arguments);
31 | var self = this;
32 |
33 | if (this.hookTo){
34 | ready(function(){
35 | utils.onDomElementCreated(self.hookTo, function(element){
36 | self.hookToNode = element;
37 | if (self.hookToNode){
38 | self.syncFromHook();
39 |
40 | on(self.hookToNode, "change", function(){
41 | self.syncFromHook();
42 | });
43 | }
44 | });
45 | });
46 | }
47 | },
48 |
49 | syncFromHook: function(){
50 | this.set('value', this.hookToNode.value);
51 | },
52 |
53 | onChange: function(size){
54 | if (this.hookToNode){
55 | var oldValue = this.hookToNode.value;
56 | this.hookToNode.value = size;
57 |
58 | if (oldValue != size){
59 | utils.fireEvent(this.hookToNode, "change");
60 | }
61 | }
62 | }
63 | });
64 | }
65 | );
--------------------------------------------------------------------------------
/js/widgets/Standby.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define("maple/widgets/Standby", ["dojo/_base/declare", "dojox/widget/Standby"],
18 | function(declare, dojoxStandby) {
19 | "use strict";
20 | return declare("maple/widgets/Standby", [dojoxStandby], {
21 | color: '#A7A7AA',
22 | duration: 250,
23 | image: "/images/spinner.svg",
24 | centerIndicator: "image"
25 | });
26 | }
27 | );
--------------------------------------------------------------------------------
/js/widgets/Weather.html:
--------------------------------------------------------------------------------
1 |
8 | Hi {name},
9 |
10 | We have received a request to reset your password on {appDomain}. The request was initiated from a computer identified by: {ip}. To continue with the reset, please visit the link below:
13 |
14 | If you have not initiated the password reset, please notify this incident to our staff.
15 |
16 | This message has been generated automatically. Please do not reply to this e-mail address.
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/tests/allTests.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["tests/helpers/utils", "tests/config/project"], 1);
18 |
--------------------------------------------------------------------------------
/tests/conf.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["tests/conf"], function(){
18 | return {
19 |
20 | };
21 | });
22 |
--------------------------------------------------------------------------------
/tests/helpers/utils.js:
--------------------------------------------------------------------------------
1 | /* Maple - A Modern Web Mapping Application
2 | *
3 | * Copyright (C) 2018 VirtualGIS
4 | *
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as
7 | * published by the Free Software Foundation, either version 3 of the
8 | * License, or (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see . */
17 | define(["doh/runner", "tests/conf", "gisView/helpers/utils"],
18 | function(doh, conf, utils){
19 |
20 | doh.register("Utils Module", [
21 | {
22 | name: "utils.arrayify()",
23 | runTest: function(){
24 | doh.assertTrue(utils.arrayify !== undefined, "Arrayify exists");
25 |
26 | var obj = {
27 | a: {},
28 | b: {
29 | c: {},
30 | d: [{value: 1}]
31 | }
32 | };
33 |
34 | utils.arrayify(obj, "a");
35 | utils.arrayify(obj, "b.c");
36 | utils.arrayify(obj, "b.d");
37 | utils.arrayify(obj, "nonexisting.property");
38 |
39 | doh.assertTrue(Object.prototype.toString.apply(obj.a) === "[object Array]", "Arrayified obj.a");
40 | doh.assertTrue(Object.prototype.toString.apply(obj.b.c) === "[object Array]", "Arrayified obj.b.c");
41 | doh.assertTrue(obj.b.d[0].value === 1, "Did not change obj.b.d");
42 | }
43 | },
44 | {
45 | name: "utils.hasProp()",
46 | runTest: function(){
47 | doh.assertTrue(utils.hasProp !== undefined, "hasProp exists");
48 |
49 | var obj = {
50 | a: {},
51 | b: {
52 | c: {}
53 | }
54 | };
55 |
56 | doh.assertTrue(utils.hasProp(obj, "a"), "obj.a exists");
57 | doh.assertTrue(utils.hasProp(obj, "b.c"), "obj.b.c exists");
58 | doh.assertFalse(utils.hasProp(obj, "b.nonexistent"), "b.nonexistent does not exist");
59 | doh.assertFalse(utils.hasProp(obj, "nonexistent.nonexistent"), "nonexistent.nonexistent does not exist");
60 | doh.assertFalse(utils.hasProp(obj, "nonexistent"), "nonexistent does not exist");
61 | doh.assertFalse(utils.hasProp(obj, ""), "'' does not exist");
62 | }
63 | },
64 | {
65 | name: "utils.removeDuplicates()",
66 | runTest: function(){
67 | doh.assertTrue(utils.removeDuplicates !== undefined, "removeDuplicates exists");
68 |
69 | var list = ["a", "b", "c", "a", "a", "c"];
70 | var out = utils.removeDuplicates(list);
71 |
72 | doh.assertTrue(out.length === 3, "3 is the expected length");
73 | doh.assertTrue(out[0] === "a" && out[1] === "b" && out[2] === "c", "out is the expected array");
74 | doh.assertTrue(utils.removeDuplicates([]).length === 0, "can pass an empty list");
75 | doh.assertTrue(utils.removeDuplicates(null).length === 0, "can pass a non array parameter (return [])");
76 | }
77 | }]
78 | );
79 | });
80 |
--------------------------------------------------------------------------------
/tmp/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 |
3 |
--------------------------------------------------------------------------------