├── example-1.png ├── example-2.png ├── example-3.png ├── example-4.png ├── assets ├── thumb.png ├── bookmark.png ├── favicon.ico ├── loading.gif ├── loader-ie9.gif ├── loadingSmall.gif └── search-symbol-32.svg ├── app ├── symbols │ └── marker.png ├── calcite-maps │ ├── fonts │ │ ├── calcite │ │ │ ├── calcite-ui.eot │ │ │ ├── calcite-ui.ttf │ │ │ └── calcite-ui.woff │ │ ├── avenir-next │ │ │ ├── Avenir_Next_W00_400.eot │ │ │ ├── Avenir_Next_W00_400.ttf │ │ │ ├── Avenir_Next_W00_400.woff │ │ │ ├── Avenir_Next_W00_600.eot │ │ │ ├── Avenir_Next_W00_600.ttf │ │ │ ├── Avenir_Next_W00_600.woff │ │ │ ├── Avenir_Next_W00_400.woff2 │ │ │ ├── Avenir_Next_W00_600.woff2 │ │ │ ├── Avenir_Next_W00_Italic_400.eot │ │ │ ├── Avenir_Next_W00_Italic_400.ttf │ │ │ ├── Avenir_Next_W00_Italic_400.woff │ │ │ ├── Avenir_Next_W00_Italic_400.woff2 │ │ │ ├── Avenir_Next_W00_Italic_600.eot │ │ │ ├── Avenir_Next_W00_Italic_600.ttf │ │ │ ├── Avenir_Next_W00_Italic_600.woff │ │ │ └── Avenir_Next_W00_Italic_600.woff2 │ │ └── bootstrap │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ ├── vendor │ │ └── dojo-bootstrap │ │ │ ├── assets │ │ │ ├── marquee.css │ │ │ ├── marquee.less │ │ │ ├── datepicker.css │ │ │ └── datepicker.less │ │ │ ├── bower.json │ │ │ ├── package.json │ │ │ ├── bootstrap.profile.js │ │ │ ├── Alert.js │ │ │ ├── Popover.js │ │ │ ├── Button.js │ │ │ ├── Affix.js │ │ │ ├── Tab.js │ │ │ ├── Scrollspy.js │ │ │ ├── Dropdown.js │ │ │ ├── Collapse.js │ │ │ └── Carousel.js │ └── js │ │ └── dojo │ │ ├── calcitemaps-arcgis-support-v0.10.js │ │ └── calcitemaps-v0.10.js ├── application-base-js │ ├── .npmignore │ ├── declareDecorator.js │ ├── support │ │ ├── domHelper.js │ │ └── itemUtils.js │ └── package.json ├── nls │ ├── zh-cn │ │ └── resources.js │ ├── zh-hk │ │ └── resources.js │ ├── zh-tw │ │ └── resources.js │ ├── ko │ │ └── resources.js │ ├── ja │ │ └── resources.js │ ├── he │ │ └── resources.js │ ├── ar │ │ └── resources.js │ ├── th │ │ └── resources.js │ ├── da │ │ └── resources.js │ ├── nb │ │ └── resources.js │ ├── sl │ │ └── resources.js │ ├── et │ │ └── resources.js │ ├── nl │ │ └── resources.js │ ├── tr │ │ └── resources.js │ ├── sv │ │ └── resources.js │ ├── cs │ │ └── resources.js │ ├── id │ │ └── resources.js │ ├── de │ │ └── resources.js │ ├── sr │ │ └── resources.js │ ├── bs │ │ └── resources.js │ ├── hr │ │ └── resources.js │ ├── lv │ │ └── resources.js │ ├── pt-pt │ │ └── resources.js │ ├── hi │ │ └── resources.js │ ├── es │ │ └── resources.js │ ├── ru │ │ └── resources.js │ ├── pl │ │ └── resources.js │ ├── pt-br │ │ └── resources.js │ ├── lt │ │ └── resources.js │ ├── vi │ │ └── resources.js │ ├── ca │ │ └── resources.js │ ├── it │ │ └── resources.js │ ├── ro │ │ └── resources.js │ ├── el │ │ └── resources.js │ ├── fr │ │ └── resources.js │ ├── hu │ │ └── resources.js │ ├── fi │ │ └── resources.js │ └── resources.js ├── dojo.js ├── base │ ├── basethemes.js │ ├── Styleset.js │ ├── selectors.js │ ├── padding.js │ ├── styles.js │ ├── message.js │ ├── baselayouts.js │ ├── ParamValidator.js │ └── Color.js ├── init.js ├── view │ └── widgetslayout.js ├── ui │ └── HtmlTemplate.js └── widgets │ └── WidgetsExt.js └── config ├── application.json ├── applicationBase.json └── appParams.json /example-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/example-1.png -------------------------------------------------------------------------------- /example-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/example-2.png -------------------------------------------------------------------------------- /example-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/example-3.png -------------------------------------------------------------------------------- /example-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/example-4.png -------------------------------------------------------------------------------- /assets/thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/assets/thumb.png -------------------------------------------------------------------------------- /assets/bookmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/assets/bookmark.png -------------------------------------------------------------------------------- /assets/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/assets/favicon.ico -------------------------------------------------------------------------------- /assets/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/assets/loading.gif -------------------------------------------------------------------------------- /app/symbols/marker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/symbols/marker.png -------------------------------------------------------------------------------- /assets/loader-ie9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/assets/loader-ie9.gif -------------------------------------------------------------------------------- /assets/loadingSmall.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/assets/loadingSmall.gif -------------------------------------------------------------------------------- /app/calcite-maps/fonts/calcite/calcite-ui.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/calcite/calcite-ui.eot -------------------------------------------------------------------------------- /app/calcite-maps/fonts/calcite/calcite-ui.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/calcite/calcite-ui.ttf -------------------------------------------------------------------------------- /app/calcite-maps/fonts/calcite/calcite-ui.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/calcite/calcite-ui.woff -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_400.eot -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_400.ttf -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_400.woff -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_600.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_600.eot -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_600.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_600.ttf -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_600.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_600.woff -------------------------------------------------------------------------------- /app/application-base-js/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | tsrules 3 | .editorconfig 4 | .gitattributes 5 | .gitignore 6 | .jsbeautifyrc 7 | tsconfig.json 8 | tslint.json 9 | web.config 10 | -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_400.woff2 -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_600.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_600.woff2 -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_400.eot -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_400.ttf -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_400.woff -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_400.woff2 -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_600.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_600.eot -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_600.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_600.ttf -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_600.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_600.woff -------------------------------------------------------------------------------- /app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_600.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/avenir-next/Avenir_Next_W00_Italic_600.woff2 -------------------------------------------------------------------------------- /app/calcite-maps/fonts/bootstrap/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/bootstrap/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /app/calcite-maps/fonts/bootstrap/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/bootstrap/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /app/calcite-maps/fonts/bootstrap/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/bootstrap/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /app/calcite-maps/fonts/bootstrap/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/calcite-maps-styler-template/HEAD/app/calcite-maps/fonts/bootstrap/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/assets/marquee.css: -------------------------------------------------------------------------------- 1 | .marquee { 2 | overflow: hidden; 3 | position: relative; 4 | } 5 | .marquee .marquee-item { 6 | position: absolute; 7 | top: 0px; 8 | left: 0px; 9 | width: 100%; 10 | } -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/assets/marquee.less: -------------------------------------------------------------------------------- 1 | .marquee { 2 | overflow: hidden; 3 | position: relative; 4 | 5 | .marquee-item { 6 | position: absolute; 7 | top: 0px; 8 | left: 0px; 9 | width: 100%; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /assets/search-symbol-32.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Dojo-Bootstrap", 3 | "version": "3.0.2", 4 | "homepage": "https://github.com/xsokev/Dojo-Bootstrap", 5 | "authors": [ 6 | "Kevin Armstrong " 7 | ], 8 | "description": "An implementation of the Twitter Bootstrap framework using Dojo.", 9 | "main": "bootstrap.profile.js", 10 | "moduleType": [ 11 | "amd" 12 | ], 13 | "keywords": [ 14 | "Dojo", 15 | "Bootstrap" 16 | ], 17 | "license": "Apache", 18 | "ignore": [ 19 | "**/.*", 20 | "*.md", 21 | "LICENSE", 22 | "node_modules", 23 | "vendor", 24 | "tests", 25 | "composer.json", 26 | "Gruntfile.js" 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /app/application-base-js/declareDecorator.js: -------------------------------------------------------------------------------- 1 | define(["require", "exports", "dojo/_base/declare"], function (require, exports, declare) { 2 | "use strict"; 3 | Object.defineProperty(exports, "__esModule", { value: true }); 4 | /** 5 | * A decorator that converts a TypeScript class into a declare constructor. 6 | * This allows declare constructors to be defined as classes, which nicely 7 | * hides away the `declare([], {})` boilerplate. 8 | */ 9 | function default_1() { 10 | var mixins = []; 11 | for (var _i = 0; _i < arguments.length; _i++) { 12 | mixins[_i] = arguments[_i]; 13 | } 14 | return function (target) { 15 | return declare(mixins, target.prototype); 16 | }; 17 | } 18 | exports.default = default_1; 19 | }); 20 | -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dojo-bootstrap", 3 | "version": "3.0.2", 4 | "main": "main", 5 | "description": "Implementation of Bootstrap using the Dojo Toolkit.", 6 | "repository": "xsokev/Dojo-Bootstrap", 7 | "licenses": [ 8 | { 9 | "type": "Apache License", 10 | "url": "http://www.apache.org/licenses/LICENSE-2.0" 11 | } 12 | ], 13 | "bugs": "https://github.com/xsokev/Dojo-Bootstrap/issues", 14 | "keywords": [ 15 | "JavaScript", 16 | "Dojo", 17 | "Bootstrap" 18 | ], 19 | "homepage": "https://github.com/xsokev/Dojo-Bootstrap", 20 | "dojoBuild": "bootstrap.profile.js", 21 | "devDependencies": { 22 | "intern": "^2.0.0", 23 | "grunt": "^0.4.5", 24 | "grunt-se-launch": "^0.1.0", 25 | "grunt-contrib-watch": "^0.6.1" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/application-base-js/support/domHelper.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Esri 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | 6 | you may not use this file except in compliance with the License. 7 | 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | 14 | distributed under the License is distributed on an "AS IS" BASIS, 15 | 16 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | 18 | See the License for the specific language governing permissions and 19 | 20 | limitations under the License.​ 21 | */ 22 | define(["require", "exports"], function (require, exports) { 23 | "use strict"; 24 | Object.defineProperty(exports, "__esModule", { value: true }); 25 | function setPageLocale(locale) { 26 | document.documentElement.lang = locale; 27 | } 28 | exports.setPageLocale = setPageLocale; 29 | function setPageDirection(direction) { 30 | var dirNode = document.getElementsByTagName("html")[0]; 31 | dirNode.setAttribute("dir", direction); 32 | } 33 | exports.setPageDirection = setPageDirection; 34 | function setPageTitle(title) { 35 | document.title = title; 36 | } 37 | exports.setPageTitle = setPageTitle; 38 | }); 39 | -------------------------------------------------------------------------------- /app/nls/zh-cn/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "错误", 19 | "menu": { 20 | "title": "主菜单", 21 | "items": { 22 | "about": "关于", 23 | "basemaps": "底图", 24 | "legend": "图例", 25 | "layers": "图层", 26 | "slides": "幻灯片", 27 | "bookmarks": "书签", 28 | "print": "打印", 29 | "share": "共享", 30 | "toggleNav": "完整地图" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "选择底图" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "查找地点", 39 | "actions": { 40 | "clearAll": "全部清除" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "未经许可", 46 | "message": "您的帐户无权使用非公共的可配置应用程序。 请请求您的组织管理员向您分配包括基本应用程序和附加基本应用程序许可的用户类型" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/zh-hk/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "錯誤", 19 | "menu": { 20 | "title": "主功能表", 21 | "items": { 22 | "about": "關於", 23 | "basemaps": "底圖", 24 | "legend": "圖例", 25 | "layers": "圖層", 26 | "slides": "幻燈片", 27 | "bookmarks": "書簽", 28 | "print": "列印", 29 | "share": "分享", 30 | "toggleNav": "完整地圖" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "選擇底圖" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "尋找地點", 39 | "actions": { 40 | "clearAll": "全部清除" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "未經許可", 46 | "message": "您的帳號未經授權,無法使用非公開的可配置應用程式。 請聯繫您的組織管理員,請其將包含基礎應用程式或附加元件基礎應用程式授權的使用者類型指派給您" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/zh-tw/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "錯誤", 19 | "menu": { 20 | "title": "主功能表", 21 | "items": { 22 | "about": "關於", 23 | "basemaps": "底圖", 24 | "legend": "圖例", 25 | "layers": "圖層", 26 | "slides": "幻燈片", 27 | "bookmarks": "書簽", 28 | "print": "列印", 29 | "share": "分享", 30 | "toggleNav": "完整地圖" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "選擇底圖" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "尋找地點", 39 | "actions": { 40 | "clearAll": "全部清除" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "未經許可", 46 | "message": "您的帳號未經授權,無法使用非公開的可配置應用程式。 請聯繫您的組織管理員,請其將包含基礎應用程式或附加元件基礎應用程式授權的使用者類型指派給您" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/dojo.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var _a = window.location, 3 | pathname = _a.pathname, 4 | search = _a.search; 5 | var packagePath = pathname.substring(0, pathname.lastIndexOf("/")); 6 | var localeUrlParamRegex = /locale=([\w-]+)/; 7 | var dojoLocale = search.match(localeUrlParamRegex) ? 8 | RegExp.$1 : 9 | undefined; 10 | var config = { 11 | async: true, 12 | locale: dojoLocale, 13 | has: { 14 | "esri-promise-compatibility-deprecation-warnings": 0 // TODO 15 | }, 16 | packages: [ 17 | { 18 | name: "application", 19 | location: packagePath + "/app", 20 | main: "Main" 21 | }, 22 | { 23 | name: "ApplicationBase", 24 | location: packagePath + "/app/application-base-js", 25 | main: "ApplicationBase" 26 | }, 27 | { 28 | name: "config", 29 | location: packagePath + "/config" 30 | }, 31 | { 32 | name: "bootstrap", 33 | location: packagePath + "/app/calcite-maps/vendor/dojo-bootstrap" 34 | }, 35 | { 36 | name: "calcite-maps", 37 | location: packagePath + "/app/calcite-maps/js/dojo" 38 | } 39 | ] 40 | }; 41 | window["dojoConfig"] = config; 42 | })(); 43 | -------------------------------------------------------------------------------- /app/nls/ko/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "오류", 19 | "menu": { 20 | "title": "주 메뉴", 21 | "items": { 22 | "about": "정보", 23 | "basemaps": "베이스맵", 24 | "legend": "범례", 25 | "layers": "레이어", 26 | "slides": "슬라이드", 27 | "bookmarks": "책갈피", 28 | "print": "인쇄", 29 | "share": "공유", 30 | "toggleNav": "전체 맵" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "베이스맵 선택" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "장소 찾기", 39 | "actions": { 40 | "clearAll": "모두 해제" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "라이선스가 없음", 46 | "message": "계정에는 비공개 구성 설정 앱을 사용할 수 있는 라이선스가 없습니다. 필수 앱 또는 애드-온 필수 앱 라이선스가 포함된 사용자 유형 할당을 기관 관리자에게 요청하세요." 47 | } 48 | }); -------------------------------------------------------------------------------- /app/base/basethemes.js: -------------------------------------------------------------------------------- 1 | /* 2 | | Copyright 2016 Esri 3 | | 4 | | Licensed under the Apache License, Version 2.0 (the "License"); 5 | | you may not use this file except in compliance with the License. 6 | | You may obtain a copy of the License at 7 | | 8 | | http://www.apache.org/licenses/LICENSE-2.0 9 | | 10 | | Unless required by applicable law or agreed to in writing, software 11 | | distributed under the License is distributed on an "AS IS" BASIS, 12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | | See the License for the specific language governing permissions and 14 | | limitations under the License. 15 | */ 16 | define([ 17 | "application/base/Styleset" 18 | ], function (StyleSet) { 19 | 20 | var styleset = new StyleSet(); 21 | 22 | var BASETHEMES = { 23 | 24 | type: { 25 | LIGHT: "light", 26 | DARK: "dark", 27 | CUSTOM: "custom" 28 | }, 29 | light: { 30 | type: "light", 31 | navbar: styleset.getLight(), 32 | dropdown: styleset.getLight(), 33 | panel: styleset.getLight() 34 | }, 35 | dark: { 36 | type: "dark", 37 | navbar: styleset.getDark(), 38 | dropdown: styleset.getDark(), 39 | panel: styleset.getDark() 40 | }, 41 | custom: { 42 | type: "custom", 43 | navbar: styleset.getCustom(), 44 | dropdown: styleset.getLight(), 45 | panel: styleset.getCustom() 46 | } 47 | } 48 | 49 | return BASETHEMES; 50 | }); 51 | -------------------------------------------------------------------------------- /app/nls/ja/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "エラー", 19 | "menu": { 20 | "title": "メイン メニュー", 21 | "items": { 22 | "about": "バージョン情報", 23 | "basemaps": "ベースマップ", 24 | "legend": "凡例", 25 | "layers": "レイヤー", 26 | "slides": "スライド", 27 | "bookmarks": "ブックマーク", 28 | "print": "印刷", 29 | "share": "共有", 30 | "toggleNav": "マップ全体" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "ベースマップの選択" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "場所の検索", 39 | "actions": { 40 | "clearAll": "すべて削除" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "ライセンスがありません。", 46 | "message": "お使いのアカウントには、パブリックでないテンプレートを使用するライセンスがありません。 組織の管理者に問い合わせて、Essential Apps または Essential Apps のアドオン ライセンスを含むユーザー タイプを割り当ててもらってください。" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/init.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Esri 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | 6 | you may not use this file except in compliance with the License. 7 | 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | 14 | distributed under the License is distributed on an "AS IS" BASIS, 15 | 16 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | 18 | See the License for the specific language governing permissions and 19 | 20 | limitations under the License.​ 21 | */ 22 | 23 | define([ 24 | "require", 25 | "dojo/text!config/applicationBase.json", 26 | "dojo/text!config/application.json", 27 | "ApplicationBase/ApplicationBase", 28 | "application/base/message", 29 | "dojo/i18n!./nls/resources", 30 | "./Main"], 31 | function ( 32 | require, 33 | applicationBaseConfig, 34 | applicationConfig, 35 | ApplicationBase, 36 | Message, 37 | i18n, 38 | Application 39 | ) { 40 | var Main = new Application(); 41 | 42 | new ApplicationBase({ 43 | config: applicationConfig, 44 | settings: applicationBaseConfig 45 | }).load().then(function (base) { 46 | return Main.init(base);}, function(message) { 47 | if (message === "identity-manager:not-authorized") { 48 | Message.show(Message.type.error, new Error(i18n.licenseError.title + " - " + i18n.licenseError.message), true, true); 49 | } 50 | }); 51 | }); 52 | -------------------------------------------------------------------------------- /app/nls/he/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "שגיאה", 19 | "menu": { 20 | "title": "תפריט ראשי", 21 | "items": { 22 | "about": "אודות", 23 | "basemaps": "מפות בסיס", 24 | "legend": "מקרא", 25 | "layers": "שכבות", 26 | "slides": "שקופיות", 27 | "bookmarks": "סימניות", 28 | "print": "הדפס", 29 | "share": "שתף", 30 | "toggleNav": "מפה שלמה" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "בחר מפת בסיס" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "מצא מקומות", 39 | "actions": { 40 | "clearAll": "נקה הכול" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "ללא רישיון", 46 | "message": "החשבון שלך אינו מורשה להשתמש באפליקציות הניתנות להגדרה שאינן ציבוריות. בקש ממנהל המערכת בארגון שלך להקצות לך סוג משתמש שכולל את Essential Apps או רישיון הרחבה ל-Essential Apps" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/ar/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "خطأ", 19 | "menu": { 20 | "title": "القائمة الرئيسية", 21 | "items": { 22 | "about": "نبذة عن", 23 | "basemaps": "الخرائط الأساسية", 24 | "legend": "وسيلة إيضاح", 25 | "layers": "طبقات", 26 | "slides": "شرائح", 27 | "bookmarks": "إشارات مرجعية", 28 | "print": "طباعة", 29 | "share": "مشاركة", 30 | "toggleNav": "الخريطة الكاملة" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "تحديد خريطة أساس" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "إيجاد الأماكن", 39 | "actions": { 40 | "clearAll": "مسح الكل" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "غير مرخص", 46 | "message": "حسابك غير مرخص لاستخدام التطبيقات القابلة للتكوين غير العامة. رجاءً اطلب من مسؤولي المؤسسة تعيينك كنوع مستخدم يتضمن \"التطبيقات الأساسية\" أو ترخيص \"التطبيقات الأساسية\"" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/th/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "ข้อผิดพลาด", 19 | "menu": { 20 | "title": "เมนูหลัก", 21 | "items": { 22 | "about": "เกี่ยวกับ", 23 | "basemaps": "แผนที่ฐาน", 24 | "legend": "คำอธิบายสัญลักษณ์", 25 | "layers": "เลเยอร์", 26 | "slides": "สไลด์", 27 | "bookmarks": "บุ๊คมาร์ค", 28 | "print": "พิมพ์", 29 | "share": "แบ่งปัน", 30 | "toggleNav": "แผนที่เต็ม" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "เลือกแผนที่ฐาน" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "ค้นหาสถานที่", 39 | "actions": { 40 | "clearAll": "เคลียร์ทั้งหมด" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "ไม่มีใบอนุญาต", 46 | "message": "บัญชีผู้ใช้ของคุณไม่มีใบอนุญาตในการใช้งานแอปที่กำหนดค่าได้ซึ่งไม่ใช่แบบสาธารณะ โปรดขอให้ผู้ดูแลองค์กรของคุณกำหนดประเภทผู้ใช้ที่มีใบอนุญาตแอป Essential หรือแอดออนแอป Essential ให้กับคุณ" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/da/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "fejl", 19 | "menu": { 20 | "title": "Hovedmenu", 21 | "items": { 22 | "about": "Om", 23 | "basemaps": "Baggrundskort", 24 | "legend": "Signaturforklaring", 25 | "layers": "Lag", 26 | "slides": "Dias", 27 | "bookmarks": "Bogmærker", 28 | "print": "Udskriv", 29 | "share": "Opdatér", 30 | "toggleNav": "Fuldt kort" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Vælg et baggrundskort" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Find steder", 39 | "actions": { 40 | "clearAll": "Ryd alle" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Ikke licenseret", 46 | "message": "Din konto har ikke licens til at bruge Konfigurérbare apps, der ikke er offentlige. Bed din organisationsadministrator om at knytte dig til en brugertype, der omfatter Essential Apps eller en add-on Essential Apps-licens" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/base/Styleset.js: -------------------------------------------------------------------------------- 1 | /* 2 | | Copyright 2016 Esri 3 | | 4 | | Licensed under the Apache License, Version 2.0 (the "License"); 5 | | you may not use this file except in compliance with the License. 6 | | You may obtain a copy of the License at 7 | | 8 | | http://www.apache.org/licenses/LICENSE-2.0 9 | | 10 | | Unless required by applicable law or agreed to in writing, software 11 | | distributed under the License is distributed on an "AS IS" BASIS, 12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | | See the License for the specific language governing permissions and 14 | | limitations under the License. 15 | */ 16 | define([ 17 | "application/base/styles" 18 | ], function (CALCITE_STYLES) { 19 | 20 | var lightSet = function light() { 21 | this.bgStyle = CALCITE_STYLES.bgLight; 22 | this.textStyle = CALCITE_STYLES.textDark; 23 | this.bgRgbColor = null; 24 | }; 25 | 26 | var darkSet = function dark() { 27 | this.bgStyle = CALCITE_STYLES.bgDark; 28 | this.textStyle = CALCITE_STYLES.textLight; 29 | this.bgRgbColor = null; 30 | }; 31 | 32 | var customSet = function dark() { 33 | this.bgStyle = CALCITE_STYLES.bgCustom; 34 | this.textStyle = CALCITE_STYLES.darkLight; 35 | this.bgRgbColor = "rgba(255,255,255,1)"; 36 | }; 37 | 38 | var CALCITE_STYLE_SET = function CALCITE_STYLE_SET() { 39 | this.getLight = function() { 40 | return new lightSet(); 41 | }; 42 | this.getDark = function() { 43 | return new darkSet(); 44 | }; 45 | this.getCustom = function() { 46 | return new customSet(); 47 | }; 48 | } 49 | 50 | return CALCITE_STYLE_SET; 51 | }); -------------------------------------------------------------------------------- /app/nls/nb/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "feil", 19 | "menu": { 20 | "title": "Hovedmeny", 21 | "items": { 22 | "about": "Om", 23 | "basemaps": "Bakgrunnskart", 24 | "legend": "Tegnforklaring", 25 | "layers": "Lag", 26 | "slides": "Lysbilder", 27 | "bookmarks": "Bokmerker", 28 | "print": "Skriv ut", 29 | "share": "Del", 30 | "toggleNav": "Fullt kart" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Velg et bakgrunnskart" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Finn steder", 39 | "actions": { 40 | "clearAll": "Tøm alle" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Ikke lisensiert", 46 | "message": "Kontoen din er ikke lisensiert til å bruke konfigurerbare apper som ikke er offentlige. Be administratoren for organisasjonen om å tilordne deg en brukertype som omfatter Essential Apps eller en tilleggslisens for Essential Apps" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/sl/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "napaka", 19 | "menu": { 20 | "title": "Glavni meni", 21 | "items": { 22 | "about": "Več o tem", 23 | "basemaps": "Temeljne karte", 24 | "legend": "Legenda", 25 | "layers": "Sloji", 26 | "slides": "Drsnice", 27 | "bookmarks": "Zaznamki", 28 | "print": "Tiskanje", 29 | "share": "Deli", 30 | "toggleNav": "Celotna karta" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Izberi temeljno karto" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Poišči kraje", 39 | "actions": { 40 | "clearAll": "Počisti vse" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Ni licence", 46 | "message": "Vaš račun nima licence za uporabo konfigurabilnih aplikacij, ki niso javne. Prosite administratorja vaše organizacije, da vam dodeli tip uporabnika, ki vključuje licence za osnovne aplikacije ali dodatke osnovnih aplikacij." 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/et/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "viga", 19 | "menu": { 20 | "title": "Peamenüü", 21 | "items": { 22 | "about": "Info", 23 | "basemaps": "Aluskaardid", 24 | "legend": "Legendiga kaart", 25 | "layers": "Kihid", 26 | "slides": "Slaidid", 27 | "bookmarks": "Järjehoidjad", 28 | "print": "Prindi", 29 | "share": "Jaga", 30 | "toggleNav": "Täielik kaart" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Vali aluskaart" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Leia asukohad", 39 | "actions": { 40 | "clearAll": "Tühjenda kõik" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Litsents puudub", 46 | "message": "Teie kontol puudub litsents konfigureeritavate rakenduste kasutamiseks, mis ei ole avalikud. Paluge oma organisatsiooni administraatoril määrata teile kasutajatüüp, mis sisaldab olulisi rakendusi või oluliste rakenduse lisalitsentsi." 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/nl/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "fout", 19 | "menu": { 20 | "title": "Hoofdmenu", 21 | "items": { 22 | "about": "Info", 23 | "basemaps": "Basiskaarten", 24 | "legend": "Legenda", 25 | "layers": "Kaartlagen", 26 | "slides": "Dia's", 27 | "bookmarks": "Bladwijzers", 28 | "print": "Afdrukken", 29 | "share": "Delen", 30 | "toggleNav": "Volledige kaart" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Selecteer een basiskaart" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Plaatsen zoeken", 39 | "actions": { 40 | "clearAll": "Alles wissen" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Geen licentie", 46 | "message": "Uw account heeft geen licentie om configureerbare apps te gebruiken die niet openbaar zijn. Vraag uw organisatiebeheerder om u een gebruikerstype toe te wijzen dat Essential Apps of een add-on Essential Apps-licentie bevat" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/tr/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "hata", 19 | "menu": { 20 | "title": "Ana Menü", 21 | "items": { 22 | "about": "Hakkında", 23 | "basemaps": "Altlık harita", 24 | "legend": "Gösterim", 25 | "layers": "Katmanlar", 26 | "slides": "Slaytlar", 27 | "bookmarks": "Yer imleri", 28 | "print": "Yazdır", 29 | "share": "Paylaş", 30 | "toggleNav": "Haritanın Tamamı" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Altlık harita seçin" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Yer Bul", 39 | "actions": { 40 | "clearAll": "Tümünü Temizle" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Lisanslı Değil", 46 | "message": "Hesabınız herkese açık olmayan Yapılandırılabilir Uygulamaları kullanmak için lisanslandırılmamış. Lütfen kuruluş yöneticinizden Temel Uygulamalar veya eklenti Temel Uygulamalar lisansı içeren bir kullanıcı türü atamasını isteyin" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/sv/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "fel", 19 | "menu": { 20 | "title": "Huvudmeny", 21 | "items": { 22 | "about": "Om", 23 | "basemaps": "Baskartor", 24 | "legend": "Teckenförklaring", 25 | "layers": "Lager", 26 | "slides": "Bilder", 27 | "bookmarks": "Bokmärken", 28 | "print": "Skriv ut", 29 | "share": "Dela", 30 | "toggleNav": "Full karta" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Välj en baskarta" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Sök platser", 39 | "actions": { 40 | "clearAll": "Avmarkera alla" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Inte licensierad", 46 | "message": "Ditt konto har ingen licens för att använda konfigurerbara appar som inte är tillgängliga för allmänheten. Be din organisations administratör att tilldela dig en användartyp som omfattar Essential Apps eller en tilläggslicens för Essential Apps" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/cs/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "chyba", 19 | "menu": { 20 | "title": "Hlavní nabídka", 21 | "items": { 22 | "about": "O aplikaci", 23 | "basemaps": "Podkladové mapy", 24 | "legend": "Legenda", 25 | "layers": "Vrstvy", 26 | "slides": "Snímky", 27 | "bookmarks": "Záložky", 28 | "print": "Tisk", 29 | "share": "Sdílet", 30 | "toggleNav": "Plná mapa" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Výběr podkladové mapy" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Najít místa", 39 | "actions": { 40 | "clearAll": "Zrušit vše" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Chybí licence", 46 | "message": "Váš účet nevlastní licenci k používání konfigurovatelných aplikací, které nejsou veřejné. Požádejte prosím správce své organizace, aby vám přidělil typ uživatele, jehož součástí jsou základní aplikace nebo doplňková licence základních aplikací" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/id/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "kesalahan", 19 | "menu": { 20 | "title": "Menu Utama", 21 | "items": { 22 | "about": "Tentang", 23 | "basemaps": "Peta Dasar", 24 | "legend": "Legenda", 25 | "layers": "Layer", 26 | "slides": "Slide", 27 | "bookmarks": "Penanda Lokasi", 28 | "print": "Cetak", 29 | "share": "Bagikan", 30 | "toggleNav": "Peta Lengkap" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Pilih peta dasar" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Temukan Tempat", 39 | "actions": { 40 | "clearAll": "Hapus Semua" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Tidak Dilisensikan", 46 | "message": "Akun Anda tidak dilisensikan untuk menggunakan Aplikasi yang Dapat Dikonfigurasi yang bukan publik. Harap minta administrator organisasi Anda untuk menetapkan jenis pengguna yang menyertakan Essential App atau add-on Essential App kepada Anda" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/de/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "Fehler", 19 | "menu": { 20 | "title": "Hauptmenü", 21 | "items": { 22 | "about": "Informationen", 23 | "basemaps": "Grundkarten", 24 | "legend": "Legende", 25 | "layers": "Layer", 26 | "slides": "Folien", 27 | "bookmarks": "Lesezeichen", 28 | "print": "Drucken", 29 | "share": "Freigeben", 30 | "toggleNav": "Vollständige Karte" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Grundkarte auswählen" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Orte suchen", 39 | "actions": { 40 | "clearAll": "Alle löschen" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Nicht lizenziert", 46 | "message": "Ihr Konto ist nicht für die Verwendung von nicht öffentlichen konfigurierbaren Apps lizenziert. Bitten Sie den Administrator der Organisation, Ihnen einen Benutzertyp mit Essential Apps oder eine Add-On-Lizenz für Essential Apps zuzuweisen." 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/sr/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "greška", 19 | "menu": { 20 | "title": "Glavni meni", 21 | "items": { 22 | "about": "Osnovni podaci", 23 | "basemaps": "Pozadinske mape", 24 | "legend": "Legenda", 25 | "layers": "Slojevi", 26 | "slides": "Slajdovi", 27 | "bookmarks": "Obeleživači", 28 | "print": "Odštampaj", 29 | "share": "Podeli", 30 | "toggleNav": "Cela mapa" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Izaberite pozadinsku mapu" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Pronađi mesta", 39 | "actions": { 40 | "clearAll": "Obriši sve" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Nema licencu", 46 | "message": "Vaš nalog nema licencu za korišćenje aplikacija koje mogu da se konfigurišu i nisu javne. Zatražite od administratora organizacije da vam dodeli onaj tip korisnika koji uključuje osnovne aplikacije ili licencu za dodatne osnovne aplikacije" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/bs/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "pogreška", 19 | "menu": { 20 | "title": "Glavni izbornik", 21 | "items": { 22 | "about": "Informacije", 23 | "basemaps": "Kartografske podloge", 24 | "legend": "Legenda", 25 | "layers": "Slojevi", 26 | "slides": "Slajdovi", 27 | "bookmarks": "Knjižne oznake", 28 | "print": "Ispis", 29 | "share": "Podijeli", 30 | "toggleNav": "Cijela karta" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Odaberite kartografsku podlogu" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Pronađi mjesta", 39 | "actions": { 40 | "clearAll": "Očisti sve" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Nema licence", 46 | "message": "Vaš račun nije licenciran za upotrebu konfigurabilnih appova koji nisu javni. Obratite se administratoru svoje organizacije da vam dodijeli vrstu korisnika koja sadrži licencu za osnovne appove ili za dodatke za osnovne appove" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/hr/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "pogreška", 19 | "menu": { 20 | "title": "Glavni izbornik", 21 | "items": { 22 | "about": "Informacije", 23 | "basemaps": "Kartografske podloge", 24 | "legend": "Legenda", 25 | "layers": "Slojevi", 26 | "slides": "Slajdovi", 27 | "bookmarks": "Knjižne oznake", 28 | "print": "Ispis", 29 | "share": "Podijeli", 30 | "toggleNav": "Cijela karta" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Odaberite kartografsku podlogu" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Pronađi mjesta", 39 | "actions": { 40 | "clearAll": "Očisti sve" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Nema licence", 46 | "message": "Vaš račun nije licenciran za upotrebu konfigurabilnih appova koji nisu javni. Obratite se administratoru svoje organizacije da vam dodijeli vrstu korisnika koja sadrži licencu za osnovne appove ili za dodatke za osnovne appove" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/lv/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "kļūda", 19 | "menu": { 20 | "title": "Galvenā izvēlne", 21 | "items": { 22 | "about": "Par", 23 | "basemaps": "Pamatkartes", 24 | "legend": "Apzīmējumi", 25 | "layers": "Slāņi", 26 | "slides": "Slaidi", 27 | "bookmarks": "Grāmatzīmes", 28 | "print": "Drukāt", 29 | "share": "Kopīgot", 30 | "toggleNav": "Pilna karte" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Izvēlieties pamatkarti" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Atrast vietas", 39 | "actions": { 40 | "clearAll": "Notīrīt visu" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Nav licences", 46 | "message": "Jūsu kontam nav licences, lai izmantotu konfigurējamās lietotnes, kas nav publiskas. Pieprasiet savas organizācijas administratoram piešķirt jums lietotāja veidu, kas ietver lietotņu komplektu Essential Apps vai papildinājumlietotņu Essential Apps licenci." 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/pt-pt/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "Erro", 19 | "menu": { 20 | "title": "Menu Principal", 21 | "items": { 22 | "about": "Sobre", 23 | "basemaps": "Mapas Base", 24 | "legend": "Legenda", 25 | "layers": "Camadas", 26 | "slides": "Slides", 27 | "bookmarks": "Marcadores", 28 | "print": "Imprimir", 29 | "share": "Partilhar", 30 | "toggleNav": "Mapa Completo" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Selecione um mapa base" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Pesquisar locais", 39 | "actions": { 40 | "clearAll": "Limpar tudo" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Não licenciado", 46 | "message": "A sua conta não está licenciada para usar aplicações configuráveis não públicas. Peça ao administrador da sua organização para lhe atribuir um tipo de utilizador que inclua a licença para aplicações essenciais ou aplicações essenciais suplementares." 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/hi/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "त्रुटि", 19 | "menu": { 20 | "title": "मुख्य मेनू", 21 | "items": { 22 | "about": "बारे में", 23 | "basemaps": "बेसमैप", 24 | "legend": "लीजेंड", 25 | "layers": "लेयर", 26 | "slides": "स्लाइड्स", 27 | "bookmarks": "बुकमार्क्स", 28 | "print": "प्रिंट करें", 29 | "share": "साझा करें", 30 | "toggleNav": "पूर्ण मानचित्र" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "कोई बेसमैप चुनें" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "जगहों का पता लगाएँ", 39 | "actions": { 40 | "clearAll": "सब हटायें" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "लाइसेंस प्राप्त नहीं है", 46 | "message": "आपका खाता कॉन्फ़िगर करने योग्य उन ऐप्स का उपयोग करने के लिए लाइसेंस प्राप्त नहीं है, जो सार्वजनिक नहीं हैं। कृपया अपने संगठन के व्यवस्थापक से आपको ऐसा उपयोगकर्ता प्रकार असाइन करने के लिए कहें, जिसमें आवश्यक ऐप्स या एड-ऑन हेतु आवश्यक ऐप्स लाइसेंस शामिल हों" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/es/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "error", 19 | "menu": { 20 | "title": "Menú principal", 21 | "items": { 22 | "about": "Acerca de", 23 | "basemaps": "Mapas base", 24 | "legend": "Leyenda", 25 | "layers": "Capas", 26 | "slides": "Diapositivas", 27 | "bookmarks": "Marcadores", 28 | "print": "Imprimir", 29 | "share": "Compartir", 30 | "toggleNav": "Mapa completo" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Seleccionar un mapa base" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Buscar lug.", 39 | "actions": { 40 | "clearAll": "Borrar todo" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Sin Licencia", 46 | "message": "Su cuenta no tiene licencia para utilizar aplicaciones configurables que no son públicas. Pídale al administrador de su organización que le asigne un tipo de usuario que incluya aplicaciones esenciales o una licencia complementaria de aplicaciones esenciales" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/ru/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "ошибка", 19 | "menu": { 20 | "title": "Главное меню", 21 | "items": { 22 | "about": "Описание", 23 | "basemaps": "Базовые карты", 24 | "legend": "Легенда", 25 | "layers": "Слои", 26 | "slides": "Слайды", 27 | "bookmarks": "Закладки", 28 | "print": "Печать", 29 | "share": "Опубликовать", 30 | "toggleNav": "Полная карта" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Выбор базовой карты" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Найти места", 39 | "actions": { 40 | "clearAll": "Очистить все" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Не лицензировано", 46 | "message": "Ваша учетная запись не лицензирована на использование не общедоступных Настраиваемых приложений. Обратитесь к администратору вашей организации, чтобы он назначил вам тип пользователя, который включает лицензию Essential Apps или лицензию с надстройкой Essential Apps." 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/pl/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "błąd", 19 | "menu": { 20 | "title": "Menu główne", 21 | "items": { 22 | "about": "Informacje o", 23 | "basemaps": "Mapy bazowe", 24 | "legend": "Legenda", 25 | "layers": "Warstwy", 26 | "slides": "Slajdy", 27 | "bookmarks": "Zakładki", 28 | "print": "Drukuj", 29 | "share": "Udostępnianie", 30 | "toggleNav": "Pełna mapa" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Wybierz mapę bazową" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Znajdź miejsca", 39 | "actions": { 40 | "clearAll": "Wyczyść wszystkie" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Nie licencjonowano", 46 | "message": "Twoje konto nie jest licencjonowane do korzystania z aplikacji konfigurowalnych, które nie są publiczne. Poproś administratora instytucji o przypisanie typu użytkownika, który obejmuje licencję na kluczowe aplikacje lub licencję na kluczowe aplikacje dodatkowe" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/pt-br/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "erro", 19 | "menu": { 20 | "title": "Menu Principal", 21 | "items": { 22 | "about": "Sobre", 23 | "basemaps": "Mapas Base", 24 | "legend": "Legenda", 25 | "layers": "Camadas", 26 | "slides": "Slides", 27 | "bookmarks": "Marcadores", 28 | "print": "Imprimir", 29 | "share": "Compartilhar", 30 | "toggleNav": "Mapa Inteiro" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Selecione um mapa base" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Encontrar Locais", 39 | "actions": { 40 | "clearAll": "Limpar Tudo" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Não Licenciado", 46 | "message": "Sua conta não está licenciada para utilizar Aplicativos Configuráveis que não são públicos. Peça a seu administrador da organização para atribuir um tipo de usuário a você que inclua Aplicativos Essenciais ou um complemento da licença dos Aplicativos Essenciais." 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/lt/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "klaida", 19 | "menu": { 20 | "title": "Pagrindinis meniu", 21 | "items": { 22 | "about": "Apie", 23 | "basemaps": "Pagrindo žemėlapiai", 24 | "legend": "Legenda", 25 | "layers": "Sluoksniai", 26 | "slides": "Skaidrės", 27 | "bookmarks": "Žymos", 28 | "print": "Spausdinti", 29 | "share": "Bendrinti", 30 | "toggleNav": "Visas žemėlapis" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Pasirinkite pagrindo žemėlapį" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Vietų paieška", 39 | "actions": { 40 | "clearAll": "Valyti viską" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Nelicencijuota", 46 | "message": "Jūsų paskyra nelicencijuota naudoti ne viešas konfigūruojamas aplikacijas. Kreipkitės į organizacijos administratorių, kad paskirtų jums vartotojo tipą, kuris turi svarbiausias aplikacijas, arba suteiktų jums papildomą svarbiausių aplikacijų licenciją" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/vi/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "lỗi", 19 | "menu": { 20 | "title": "Menu Chính", 21 | "items": { 22 | "about": "Giới thiệu", 23 | "basemaps": "Bản đồ nền", 24 | "legend": "Chú giải", 25 | "layers": "Lớp", 26 | "slides": "Trang trình chiếu", 27 | "bookmarks": "Đánh dấu", 28 | "print": "In", 29 | "share": "Chia sẻ", 30 | "toggleNav": "Bản đồ Đầy đủ" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Chọn một bản đồ nền" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Tìm Địa điểm", 39 | "actions": { 40 | "clearAll": "Xóa Tất cả" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Không được cấp phép", 46 | "message": "Tài khoản của bạn không được cấp phép để sử dụng Các Ứng dụng có thể Cấu hình chưa được chia sẻ công khai. Vui lòng yêu cầu quản trị viên của tổ chức bạn gán cho bạn loại người dùng nào có bao gồm các ứng dụng thiết yếu hoặc có giấy phép sử dụng các ứng dụng thiết yếu bổ sung" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/ca/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "error", 19 | "menu": { 20 | "title": "Menú principal", 21 | "items": { 22 | "about": "Quant a", 23 | "basemaps": "Mapes base", 24 | "legend": "Llegenda", 25 | "layers": "Capes", 26 | "slides": "Diapositives", 27 | "bookmarks": "Marcadors", 28 | "print": "Imprimeix", 29 | "share": "Comparteix", 30 | "toggleNav": "Mapa complet" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Seleccioneu un mapa base" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Cerca llocs", 39 | "actions": { 40 | "clearAll": "Esborra-ho tot" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Sense llicència", 46 | "message": "El vostre compte no té llicència per utilitzar aplicacions configurables que no siguin públiques. Demaneu a l'administrador de l'organització que us assigni un tipus d'usuari que inclogui les aplicacions bàsiques o una llicència d'aplicacions bàsiques de complement" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/it/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "errore", 19 | "menu": { 20 | "title": "Menu principale", 21 | "items": { 22 | "about": "Informazioni su", 23 | "basemaps": "Mappe di base", 24 | "legend": "Legenda", 25 | "layers": "Livelli", 26 | "slides": "Diapositive", 27 | "bookmarks": "Segnalibri", 28 | "print": "Stampa", 29 | "share": "Condividi", 30 | "toggleNav": "Mappa completa" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Selezionare una mappa di base" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Trova luoghi", 39 | "actions": { 40 | "clearAll": "Cancella tutto" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Non Licenziato", 46 | "message": "L’account non dispone della licenza per l’uso di app configurabili non pubbliche. È necessario richiedere all’amministratore dell’organizzazione l’assegnazione di un tipo di utente che includa Essential Apps o una licenza aggiuntiva di Essential Apps" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/ro/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "eroare", 19 | "menu": { 20 | "title": "Meniu principal", 21 | "items": { 22 | "about": "Despre", 23 | "basemaps": "Hărţi fundal", 24 | "legend": "Legendă", 25 | "layers": "Straturi tematice", 26 | "slides": "Diapozitive", 27 | "bookmarks": "Semne de carte", 28 | "print": "Imprimare", 29 | "share": "Partajare", 30 | "toggleNav": "Hartă completă" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Selectare hartă fundal" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Găsire locuri", 39 | "actions": { 40 | "clearAll": "Golire totală" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Nelicențiat", 46 | "message": "Contul dvs. nu este licențiat să utilizeze aplicații configurabile care nu sunt publice. Solicitați-i administratorului organizației să vă aloce un tip de utilizator care include aplicații esențiale sau o licență pentru aplicații esențiale de completare" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/el/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "σφάλμα", 19 | "menu": { 20 | "title": "Βασικό μενού", 21 | "items": { 22 | "about": "Πληροφορίες", 23 | "basemaps": "Υπόβαθρα", 24 | "legend": "Υπόμνημα", 25 | "layers": "Θεμ. επίπ.", 26 | "slides": "Διαφάνειες", 27 | "bookmarks": "Σελ/κτες", 28 | "print": "Εκτύπωση", 29 | "share": "Κοινοποίηση", 30 | "toggleNav": "Πλήρης χάρτης" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Επιλέξτε ένα υπόβαθρο" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Εύρεση τοποθεσιών", 39 | "actions": { 40 | "clearAll": "Απαλοιφή όλων" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Χωρίς άδεια χρήσης", 46 | "message": "Ο λογαριασμός σας δεν διαθέτει άδεια χρήσης για Παραμετροποιήσιμες Εφαρμογές που δεν είναι δημόσιες. Ζητήστε από τον διαχειριστή του οργανισμού σας να σας εκχωρήσει τύπο χρήστη που να περιλαμβάνει Βασικές Εφαρμογές ή πρόσθετη άδεια χρήσης για Βασικές Εφαρμογές." 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/fr/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "erreur", 19 | "menu": { 20 | "title": "Menu principal", 21 | "items": { 22 | "about": "A propos", 23 | "basemaps": "Fonds de carte", 24 | "legend": "Légende", 25 | "layers": "Couches", 26 | "slides": "Diapositives", 27 | "bookmarks": "Géosignets", 28 | "print": "Imprimer", 29 | "share": "Partager", 30 | "toggleNav": "Carte entière" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Sélectionner un fond de carte" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Rech sites", 39 | "actions": { 40 | "clearAll": "Tout effacer" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Pas de licence", 46 | "message": "La licence de votre compte ne permet pas d’utiliser des applications configurables non publiques. Demandez à l’administrateur de votre organisation de vous attribuer un type d’utilisateur qui inclut une licence Essential Apps ou une licence Essential Apps additionnelle" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/hu/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "hiba", 19 | "menu": { 20 | "title": "Főmenü", 21 | "items": { 22 | "about": "További információ", 23 | "basemaps": "Alaptérképek", 24 | "legend": "Jelmagyarázat", 25 | "layers": "Rétegek", 26 | "slides": "Diák", 27 | "bookmarks": "Könyvjelzők", 28 | "print": "Nyomtatás", 29 | "share": "Megosztás", 30 | "toggleNav": "Teljes térkép" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Alaptérkép kiválasztása" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Helyek keresése", 39 | "actions": { 40 | "clearAll": "Összes törlése" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Nincs licence", 46 | "message": "Az Ön fiókjának licence nem terjed ki a nem nyilvános konfigurálható alkalmazásokra. Igényelje a szervezete adminisztrátorától, hogy rendeljen Önhöz olyan felhasználótípust, amely tartalmazza az alapvető alkalmazásokat, vagy egy kiegészítő alapvető alkalmazásokra vonatkozó licencet" 47 | } 48 | }); -------------------------------------------------------------------------------- /app/nls/fi/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | "error": "On ilmennyt validointivirheitä. Tee muutokset ja lähetä uudelleen.", 19 | "menu": { 20 | "title": "Päävalikko", 21 | "items": { 22 | "about": "Tietoja", 23 | "basemaps": "Taustakartat", 24 | "legend": "Selite", 25 | "layers": "Karttatasot", 26 | "slides": "Diat", 27 | "bookmarks": "Kirjanmerkit", 28 | "print": "Tulosta", 29 | "share": "Jaa", 30 | "toggleNav": "Koko kartta" 31 | } 32 | }, 33 | "basemaps": { 34 | "select": "Valitse taustakartta" 35 | }, 36 | "findPlaces": { 37 | "popup": { 38 | "title": "Etsi paikkoja", 39 | "actions": { 40 | "clearAll": "Tyhjennä kaikki" 41 | } 42 | } 43 | }, 44 | "licenseError": { 45 | "title": "Ei lisenssiä", 46 | "message": "Tiliäsi ei ole lisensoitu käyttämään muunneltavissa olevia sovelluksia, jotka eivät ole julkisia. Pyydä organisaatiosi järjestelmänvalvojaa määrittämään sinulle käyttäjätyyppi, joka sisältää keskeiset sovellukset tai keskeisten sovellusten lisäosan lisenssin." 47 | } 48 | }); -------------------------------------------------------------------------------- /config/application.json: -------------------------------------------------------------------------------- 1 | { 2 | "appid": "", 3 | "group": "", 4 | "webmap": "", 5 | "webscene": "", 6 | "title": "", 7 | "subtitle": "", 8 | "abouttext": "", 9 | "aboutsummary": false, 10 | "aboutdescription": false, 11 | "theme": "dark", 12 | "themecustom": false, 13 | "bgcolor": "", 14 | "textcolor": "", 15 | "opacity": "1", 16 | "widgettheme": "", 17 | "menuabout": true, 18 | "menulegend": true, 19 | "menulayers": true, 20 | "menubasemaps": true, 21 | "menuslides": false, 22 | "menubookmarks": false, 23 | "menuprint": true, 24 | "menushare": true, 25 | "menutogglenav": true, 26 | "activepanel": null, 27 | "menustyledrawer": false, 28 | "popupdocking": "auto", 29 | "layout": "top-medium", 30 | "panelslayout": "", 31 | "widgetslayout": "top-left", 32 | "zoomin": "show", 33 | "home": "show", 34 | "compass": "show", 35 | "navtoggle": "show", 36 | "locate": "hide", 37 | "track": "hide", 38 | "search": "hide", 39 | "legend": "hide", 40 | "scalebar": "show", 41 | "slice": "hide", 42 | "basemaptoggle": "show", 43 | "nextbasemap": "", 44 | "measure": "hide", 45 | "mapcoords": true, 46 | "searchnav": true, 47 | "searchtext": "", 48 | "findplaces": true, 49 | "places": "", 50 | "showerrors": true, 51 | "lat": null, 52 | "lon": null, 53 | "x": null, 54 | "y": null, 55 | "zoom": null, 56 | "scale": null, 57 | "rotation": null, 58 | "heading": null, 59 | "tilt": null, 60 | "altitude": null, 61 | "wkid": null, 62 | "basemap": "", 63 | "sharinghost": "", 64 | "portalUrl": "https://www.arcgis.com", 65 | "oauthappid": "arcgisWebApps", 66 | "proxyUrl": "", 67 | "units": "", 68 | "css": "", 69 | "noscroll": false, 70 | "helperServices": { 71 | "geometry": { 72 | "url": null 73 | }, 74 | "printTask": { 75 | "url": null 76 | }, 77 | "elevationSync": { 78 | "url": null 79 | }, 80 | "geocode": [{ 81 | "url": null 82 | }] 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/bootstrap.profile.js: -------------------------------------------------------------------------------- 1 | var profile = (function(){ 2 | var testResourceRe = /^bootstrap\/tests\//; 3 | 4 | var ignore = function(filename, mid){ 5 | var list = { 6 | "bootstrap/.gitignore" : true 7 | }; 8 | return (mid in list) || 9 | /^bootstrap\/vendor\//.test(mid); 10 | }; 11 | 12 | var test = function(filename, mid){ 13 | var list = { 14 | "bootstrap/tests" : true 15 | }; 16 | return (mid in list) || 17 | testResourceRe.test(mid); 18 | }; 19 | 20 | var copyOnly = function(filename, mid){ 21 | var list = { 22 | "bootstrap/bootstrap.profile" : true, 23 | "bootstrap/package.json" : true, 24 | "bootstrap/LICENSE" : true, 25 | "bootstrap/README.md" : true 26 | }; 27 | return (mid in list) || 28 | /(png|jpg|jpeg|gif|tiff)$/.test(filename); 29 | }; 30 | 31 | var miniExclude = function(filename, mid){ 32 | var list = { 33 | "bootstrap/LICENCE" : true, 34 | "bootstrap/README.md" : true 35 | }; 36 | return (mid in list); 37 | }; 38 | 39 | return { 40 | resourceTags:{ 41 | 42 | ignore: function(filename, mid){ 43 | return ignore(filename, mid); 44 | }, 45 | 46 | test: function(filename, mid){ 47 | return test(filename, mid); 48 | }, 49 | 50 | copyOnly: function(filename, mid){ 51 | return copyOnly(filename, mid); 52 | }, 53 | 54 | miniExclude: function(filename, mid){ 55 | return miniExclude(filename, mid); 56 | }, 57 | 58 | amd: function(filename, mid){ 59 | return !test(filename, mid) && 60 | !copyOnly(filename, mid) && 61 | !ignore(filename, mid) && 62 | (/\.js$/).test(filename); 63 | } 64 | } 65 | }; 66 | })(); -------------------------------------------------------------------------------- /app/base/selectors.js: -------------------------------------------------------------------------------- 1 | /* 2 | | Copyright 2016 Esri 3 | | 4 | | Licensed under the Apache License, Version 2.0 (the "License"); 5 | | you may not use this file except in compliance with the License. 6 | | You may obtain a copy of the License at 7 | | 8 | | http://www.apache.org/licenses/LICENSE-2.0 9 | | 10 | | Unless required by applicable law or agreed to in writing, software 11 | | distributed under the License is distributed on an "AS IS" BASIS, 12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | | See the License for the specific language governing permissions and 14 | | limitations under the License. 15 | */ 16 | define([], function () { 17 | 18 | // CALCITE_SELECTORS.mapContainer 19 | // CALCITE_SELECTORS.panels 20 | // CALCITE_SELECTORS.title 21 | 22 | var CALCITE_SELECTORS = { 23 | body: document.body, 24 | mapContainer: ".calcite-map", 25 | navbar: ".calcite-navbar", 26 | title: ".calcite-title", 27 | mainTitle: ".calcite-title-main", 28 | subTitle: ".calcite-title-sub", 29 | titleDivider: ".calcite-title-divider", 30 | dropdown: ".calcite-dropdown", 31 | dropdownToggle: ".calcite-dropdown-toggle", 32 | dropdownMenu: ".calcite-dropdown .dropdown-menu", 33 | dropdownMenuTitle: ".calcite-dropdown-toggle > span", 34 | menuAbout: "#menuAbout", 35 | menuLegend: "#menuLegend", 36 | menuLayers: "#menuLayers", 37 | menuBasemaps: "#menuBasemaps", 38 | menuSlides: "#menuSlides", 39 | menuPrint: "#menuPrint", 40 | menuShare: "#menuShare", 41 | menuToggleNav: "#menuToggleNav", 42 | widgetSearchContainer: ".calcite-navbar-search", 43 | widgetlegendContainer: ".calcite-panel-legend", 44 | panels: ".calcite-panels", 45 | panelsPanel: ".calcite-panels .panel", 46 | panelBody: ".panel-body", 47 | panelTitle: ".panel-label", 48 | panelAbout: "#panelAbout", 49 | panelLegend: "#panelLegend", 50 | panelLayers: "#panelLayers", 51 | panelBasemaps: "#panelBasemaps", 52 | panelSlides: "#panelSlides", 53 | panelPrint: "#panelPrint", 54 | panelShare: "#panelShare", 55 | carouselSlides: "#carouselSlides" 56 | 57 | } 58 | 59 | return CALCITE_SELECTORS; 60 | }); -------------------------------------------------------------------------------- /app/application-base-js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "@esri/application-base-js@^0.0.2", 3 | "_id": "@esri/application-base-js@0.0.2", 4 | "_inBundle": false, 5 | "_integrity": "sha1-oyPGQeSFVf8wIfC5a23MBd7a7Os=", 6 | "_location": "/@esri/application-base-js", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "range", 10 | "registry": true, 11 | "raw": "@esri/application-base-js@^0.0.2", 12 | "name": "@esri/application-base-js", 13 | "escapedName": "@esri%2fapplication-base-js", 14 | "scope": "@esri", 15 | "rawSpec": "^0.0.2", 16 | "saveSpec": null, 17 | "fetchSpec": "^0.0.2" 18 | }, 19 | "_requiredBy": [ 20 | "#DEV:/" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/@esri/application-base-js/-/application-base-js-0.0.2.tgz", 23 | "_shasum": "a323c641e48555ff3021f0b96b6dcc05dedaeceb", 24 | "_spec": "@esri/application-base-js@^0.0.2", 25 | "_where": "/Users/allan/GitHub/configurable-app-examples-4x-js", 26 | "author": { 27 | "name": "Matt Driscoll", 28 | "email": "mdriscoll@esri.com" 29 | }, 30 | "bugs": { 31 | "url": "https://github.com/Esri/application-base-js/issues" 32 | }, 33 | "bundleDependencies": false, 34 | "dependencies": {}, 35 | "deprecated": false, 36 | "description": "A core class for creating a configurable application using JavaScript/TypeScript", 37 | "devDependencies": { 38 | "@types/arcgis-js-api": "^4.5.0", 39 | "dojo-typings": "^1.11.9", 40 | "dts-generator": "^2.1.0", 41 | "tslint": "^5.7.0", 42 | "typescript": "^2.5.3" 43 | }, 44 | "homepage": "https://github.com/Esri/application-base-js", 45 | "keywords": [ 46 | "Esri", 47 | "esrijs", 48 | "ArcGIS", 49 | "gis", 50 | "JavaScript", 51 | "TypeScript" 52 | ], 53 | "license": "SEE LICENSE IN license.txt", 54 | "main": "ApplicationBase.js", 55 | "name": "@esri/application-base-js", 56 | "repository": { 57 | "type": "git", 58 | "url": "git+https://github.com/Esri/application-base-js.git" 59 | }, 60 | "scripts": { 61 | "build": "dts-generator --name ApplicationBase --project ./ --out index.d.ts", 62 | "start": "npm run build; npm run watch -s", 63 | "watch": "tsc --watch" 64 | }, 65 | "version": "0.0.2" 66 | } 67 | -------------------------------------------------------------------------------- /app/nls/resources.js: -------------------------------------------------------------------------------- 1 | /*global define */ 2 | /* 3 | | Copyright 2014 Esri 4 | | 5 | | Licensed under the Apache License, Version 2.0 (the "License"); 6 | | you may not use this file except in compliance with the License. 7 | | You may obtain a copy of the License at 8 | | 9 | | http://www.apache.org/licenses/LICENSE-2.0 10 | | 11 | | Unless required by applicable law or agreed to in writing, software 12 | | distributed under the License is distributed on an "AS IS" BASIS, 13 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | | See the License for the specific language governing permissions and 15 | | limitations under the License. 16 | */ 17 | define({ 18 | root: ({ 19 | "error": "error", 20 | "menu": { 21 | "title": "Main Menu", 22 | "items": { 23 | "about": "About", 24 | "basemaps": "Basemaps", 25 | "legend": "Legend", 26 | "layers": "Layers", 27 | "slides": "Slides", 28 | "bookmarks": "Bookmarks", 29 | "print": "Print", 30 | "share": "Share", 31 | "toggleNav": "Full Map" 32 | } 33 | }, 34 | "basemaps": { 35 | "select": "Select a basemap" 36 | }, 37 | "findPlaces": { 38 | "popup": { 39 | "title": "Find Places", 40 | "actions": { 41 | "clearAll": "Clear All" 42 | } 43 | } 44 | }, 45 | "licenseError": { 46 | "title": "Not Licensed", 47 | "message": "Your account is not licensed to use Configurable Apps that are not public. Please ask your organization administrator to assign you a user type that includes Essential Apps or an add-on Essential Apps license" 48 | } 49 | }), 50 | "ar": 1, 51 | "bs": 1, 52 | "ca": 1, 53 | "cs": 1, 54 | "da": 1, 55 | "de": 1, 56 | "el": 1, 57 | "es": 1, 58 | "et": 1, 59 | "fi": 1, 60 | "fr": 1, 61 | "he": 1, 62 | "hi": 1, 63 | "hr": 1, 64 | "hu": 1, 65 | "id": 1, 66 | "it": 1, 67 | "ja": 1, 68 | "ko": 1, 69 | "sl": 1, 70 | "lt": 1, 71 | "lv": 1, 72 | "nl": 1, 73 | "nb": 1, 74 | "pl": 1, 75 | "pt-br": 1, 76 | "pt-pt": 1, 77 | "ro": 1, 78 | "ru": 1, 79 | "sr": 1, 80 | "sv": 1, 81 | "th": 1, 82 | "tr": 1, 83 | "vi": 1, 84 | "zh-cn": 1, 85 | "zh-hk": 1, 86 | "zh-tw": 1 87 | }); 88 | -------------------------------------------------------------------------------- /app/view/widgetslayout.js: -------------------------------------------------------------------------------- 1 | /* 2 | | Copyright 2016 Esri 3 | | 4 | | Licensed under the Apache License, Version 2.0 (the "License"); 5 | | you may not use this file except in compliance with the License. 6 | | You may obtain a copy of the License at 7 | | 8 | | http://www.apache.org/licenses/LICENSE-2.0 9 | | 10 | | Unless required by applicable law or agreed to in writing, software 11 | | distributed under the License is distributed on an "AS IS" BASIS, 12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | | See the License for the specific language governing permissions and 14 | | limitations under the License. 15 | */ 16 | define([], function () { 17 | 18 | var POSITION = { 19 | topLeft: "top-left", 20 | topRight: "top-right", 21 | bottomLeft: "bottom-left", 22 | bottomRight: "bottom-right" 23 | }; 24 | 25 | var WIDGETS_LAYOUTS = { 26 | topLeft: { 27 | zoomin: POSITION.topLeft, 28 | home: POSITION.topLeft, 29 | navtoggle: POSITION.topLeft, 30 | locate: POSITION.topLeft, 31 | track: POSITION.topLeft, 32 | compass: POSITION.topLeft, 33 | scalebar: POSITION.bottomLeft, 34 | search: POSITION.topRight, 35 | basemaptoggle: POSITION.bottomRight 36 | }, 37 | topRight: { 38 | zoomin: POSITION.topRight, 39 | home: POSITION.topRight, 40 | navtoggle: POSITION.topRight, 41 | locate: POSITION.topRight, 42 | track: POSITION.topRight, 43 | compass: POSITION.topRight, 44 | scalebar: POSITION.bottomLeft, 45 | search: POSITION.topLeft, 46 | basemaptoggle: POSITION.bottomRight 47 | }, 48 | bottomLeft: { 49 | zoomin: POSITION.bottomLeft, 50 | home: POSITION.bottomLeft, 51 | navtoggle: POSITION.bottomLeft, 52 | locate: POSITION.bottomLeft, 53 | track: POSITION.bottomLeft, 54 | scalebar: POSITION.topLeft, 55 | compass: POSITION.bottomLeft, 56 | search: POSITION.topRight, 57 | basemaptoggle: POSITION.bottomRight 58 | }, 59 | bottomRight: { 60 | zoomin: POSITION.bottomRight, 61 | home: POSITION.bottomRight, 62 | navtoggle: POSITION.bottomRight, 63 | locate: POSITION.bottomRight, 64 | track: POSITION.bottomRight, 65 | compass: POSITION.bottomRight, 66 | scalebar: POSITION.bottomLeft, 67 | search: POSITION.topLeft, 68 | basemaptoggle: POSITION.bottomLeft 69 | } 70 | }; 71 | 72 | WIDGETS_LAYOUTS.POSITION = POSITION; 73 | 74 | return WIDGETS_LAYOUTS; 75 | }); 76 | -------------------------------------------------------------------------------- /config/applicationBase.json: -------------------------------------------------------------------------------- 1 | { 2 | "environment": { 3 | "isEsri": false, 4 | "webTierSecurity": false 5 | }, 6 | "localStorage": { 7 | "fetch": true 8 | }, 9 | "group": { 10 | "default": "908dd46e749d4565a17d2b646ace7b1a", 11 | "fetchInfo": false, 12 | "fetchItems": false, 13 | "itemParams": { 14 | "sortField": "modified", 15 | "sortOrder": "desc", 16 | "num": 9, 17 | "start": 0 18 | } 19 | }, 20 | "portal": { 21 | "fetch": true 22 | }, 23 | "urlParams": [ 24 | "appid", 25 | "basemapUrl", 26 | "basemapReferenceUrl", 27 | "oauthappid", 28 | "portalUrl", 29 | "viewpoint", 30 | "webmap", 31 | "webscene", 32 | "title", 33 | "subtitle", 34 | "abouttext", 35 | "aboutdescription", 36 | "aboutsummary", 37 | "theme", 38 | "themecustom", 39 | "bgcolor", 40 | "opacity", 41 | "textcolor", 42 | "layout", 43 | "panelslayout", 44 | "navsize", 45 | "widgettheme", 46 | "menuabout", 47 | "menulegend", 48 | "menulayers", 49 | "menubasemaps", 50 | "menuslides", 51 | "menubookmarks", 52 | "menuprint", 53 | "menushare", 54 | "menutogglenav", 55 | "menustyledrawer", 56 | "popupdocking", 57 | "widgetslayout", 58 | "zoomin", 59 | "home", 60 | "compass", 61 | "locate", 62 | "navtoggle", 63 | "track", 64 | "legend", 65 | "scalebar", 66 | "basemaptoggle", 67 | "nextbasemap", 68 | "measure", 69 | "slice", 70 | "mapcoords", 71 | "searchnav", 72 | "searchtext", 73 | "activepanel", 74 | "findplaces", 75 | "search", 76 | "places", 77 | "showerrors", 78 | "lat", 79 | "lon", 80 | "zoom", 81 | "scale", 82 | "rotation", 83 | "heading", 84 | "altitude", 85 | "tilt", 86 | "basemap", 87 | "x", 88 | "y", 89 | "wkid", 90 | "css", 91 | "noscroll" 92 | ], 93 | "webMap": { 94 | "default": "df5b4bad631d4209b6ef7a88493dac7d", 95 | "fetch": true, 96 | "container": "mapViewDiv" 97 | }, 98 | "webScene": { 99 | "default": "a5ef8bf91d234aaa93ea61e7ddf0bdf5", 100 | "fetch": true, 101 | "container": "sceneViewDiv" 102 | }, 103 | "search": { 104 | "container": "searchDiv" 105 | }, 106 | "legend": { 107 | "container": "legendDiv" 108 | }, 109 | "widgetLayers": { 110 | "container": "layersDiv" 111 | }, 112 | "widgetPrint": { 113 | "container": "printDiv" 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /app/base/padding.js: -------------------------------------------------------------------------------- 1 | /* 2 | | Copyright 2016 Esri 3 | | 4 | | Licensed under the Apache License, Version 2.0 (the "License"); 5 | | you may not use this file except in compliance with the License. 6 | | You may obtain a copy of the License at 7 | | 8 | | http://www.apache.org/licenses/LICENSE-2.0 9 | | 10 | | Unless required by applicable law or agreed to in writing, software 11 | | distributed under the License is distributed on an "AS IS" BASIS, 12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | | See the License for the specific language governing permissions and 14 | | limitations under the License. 15 | */ 16 | define([], function () { 17 | 18 | var PADDING = { 19 | topSmall: { 20 | viewPadding: { top: 40 , bottom: 0 }, 21 | uiPadding: { top: 15, bottom: 30 }, 22 | hidden: { top: 0 , bottom: 0 } 23 | }, 24 | topSmallMargin: { 25 | viewPadding: { top: 50 , bottom: 0 }, 26 | uiPadding: { top: 15, bottom: 30 }, 27 | hidden: { top: 0 , bottom: 0 } 28 | }, 29 | topMedium: { // Default 30 | viewPadding: { top: 50 , bottom: 0 }, 31 | uiPadding: { top: 15, bottom: 30 }, 32 | hidden: { top: 0 , bottom: 0 } 33 | }, 34 | topMediumMargin: { 35 | viewPadding: { top: 65 , bottom: 0 }, 36 | uiPadding: { top: 15, bottom: 30 }, 37 | hidden: { top: 0 , bottom: 0 } 38 | }, 39 | topLarge: { 40 | viewPadding: { top: 60 , bottom: 0 }, 41 | uiPadding: { top: 15, bottom: 30 }, 42 | hidden: { top: 0 , bottom: 0 } 43 | }, 44 | topLargeMargin: { 45 | viewPadding: { top: 75 , bottom: 0 }, 46 | uiPadding: { top: 15, bottom: 30 }, 47 | hidden: { top: 0 , bottom: 0 } 48 | }, 49 | bottomSmall: { 50 | viewPadding: { top: 0 , bottom: 40 }, 51 | uiPadding: { top: 30, bottom: 15 }, 52 | hidden: { top: 0 , bottom: 0 } 53 | }, 54 | bottomSmallMargin: { 55 | viewPadding: { top: 0 , bottom: 40 }, 56 | uiPadding: { top: 15, bottom: 30 }, 57 | hidden: { top: 0 , bottom: 0 } 58 | }, 59 | bottomMedium: { 60 | viewPadding: { top: 0 , bottom: 50 }, 61 | uiPadding: { top: 30, bottom: 15 }, 62 | hidden: { top: 0 , bottom: 0 } 63 | }, 64 | bottomMediumMargin: { 65 | viewPadding: { top: 0 , bottom: 65 }, 66 | uiPadding: { top: 30, bottom: 15 }, 67 | hidden: { top: 0 , bottom: 0 } 68 | }, 69 | bottomLarge: { 70 | viewPadding: { top: 0, bottom: 60 }, 71 | uiPadding: { top: 30, bottom: 15 }, 72 | hidden: { top: 0 , bottom: 0 } 73 | }, 74 | bottomLargeMargin: { 75 | viewPadding: { top: 0 , bottom: 75 }, 76 | uiPadding: { top: 30, bottom: 15 }, 77 | hidden: { top: 0 , bottom: 0 } 78 | } 79 | } 80 | 81 | return PADDING; 82 | }); -------------------------------------------------------------------------------- /app/base/styles.js: -------------------------------------------------------------------------------- 1 | /* 2 | | Copyright 2016 Esri 3 | | 4 | | Licensed under the Apache License, Version 2.0 (the "License"); 5 | | you may not use this file except in compliance with the License. 6 | | You may obtain a copy of the License at 7 | | 8 | | http://www.apache.org/licenses/LICENSE-2.0 9 | | 10 | | Unless required by applicable law or agreed to in writing, software 11 | | distributed under the License is distributed on an "AS IS" BASIS, 12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | | See the License for the specific language governing permissions and 14 | | limitations under the License. 15 | */ 16 | define([], function () { 17 | 18 | // CALCITE_STYLES.THEME.bgLight 19 | // CALCITE_STYLES.THEME.WIDGETS.dark 20 | // CALCITE_STYLES.LAYOUT.THEME.small 21 | // CALCITE_STYLES.LAYOUT.NAV.POSITION.top 22 | // CALCITE_STYLES.LAYOUT.PANELS.left 23 | 24 | var CALCITE_STYLES = { 25 | calciteMaps: "calcite-maps", 26 | bgLight: "calcite-bg-light", // default 27 | bgDark: "calcite-bg-dark", 28 | bgCustom: "calcite-bg-custom", 29 | textLight: "calcite-text-light", 30 | textDark: "calcite-text-dark", // default 31 | widgetsDark: "calcite-widgets-dark", 32 | widgetsLight: "", // default 33 | menuDrawer: "calcite-menu-drawer", 34 | rgbaDefault: "", // default (no bg color), // TODO 35 | null: "", // TODO 36 | layoutThemeSmall: "calcite-layout-small-title", 37 | layoutThemeLarge: "calcite-layout-large-title", 38 | layoutThemeInlineRight: "calcite-layout-inline-right", 39 | layoutThemeInlineLeft: "calcite-layout-inline-left", 40 | navPositionTop: "calcite-nav-top", 41 | navPositionBottom: "calcite-nav-bottom", 42 | navPositionTopFixed: "calcite-nav-top-fixed", 43 | navPositionBottomFixed: "calcite-nav-bottom-fixed", 44 | navMarginTop:"calcite-margin-top", 45 | navMarginBottom:"calcite-margin-bottom", 46 | navMarginAll:"calcite-margin-all", 47 | navFixedTop: "navbar-fixed-top", 48 | navFixedBottom: "navbar-fixed-bottom", 49 | navMiniBar: "calcite-nav-transparent", 50 | calcitePanels: "calcite-panels", 51 | panelsLeft: "calcite-panels-left", 52 | panelsRight: "calcite-panels-right", 53 | calciteMap: "calcite-map" 54 | } 55 | 56 | CALCITE_STYLES.ALL = { 57 | body: CALCITE_STYLES.layoutThemeSmall + " " + CALCITE_STYLES.layoutThemeLarge + " " + CALCITE_STYLES.layoutThemeInlineLeft + " " + CALCITE_STYLES.layoutThemeInlineRight + " " + 58 | CALCITE_STYLES.navPositionTop + " " + CALCITE_STYLES.navPositionBottom + " " + CALCITE_STYLES.navPositionTopFixed + " " + CALCITE_STYLES.navPositionBottomFixed + " " + 59 | CALCITE_STYLES.navMarginTop + " " + CALCITE_STYLES.navMarginBottom + " " + CALCITE_STYLES.navMarginAll + " " + 60 | CALCITE_STYLES.navMiniBar + " " + 61 | CALCITE_STYLES.panelsLeft + " " + CALCITE_STYLES.panelsRight, 62 | navbar: CALCITE_STYLES.navFixedTop + " " + CALCITE_STYLES.navFixedBottom, 63 | panels: CALCITE_STYLES.panelsLeft + " " + CALCITE_STYLES.panelsRight 64 | } 65 | 66 | return CALCITE_STYLES; 67 | 68 | }); -------------------------------------------------------------------------------- /app/base/message.js: -------------------------------------------------------------------------------- 1 | /* 2 | | Copyright 2016 Esri 3 | | 4 | | Licensed under the Apache License, Version 2.0 (the "License"); 5 | | you may not use this file except in compliance with the License. 6 | | You may obtain a copy of the License at 7 | | 8 | | http://www.apache.org/licenses/LICENSE-2.0 9 | | 10 | | Unless required by applicable law or agreed to in writing, software 11 | | distributed under the License is distributed on an "AS IS" BASIS, 12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | | See the License for the specific language governing permissions and 14 | | limitations under the License. 15 | */ 16 | define([ 17 | "dojo/dom", 18 | "dojo/dom-class", 19 | "dojo/query" 20 | ], function ( 21 | dom, domClass, query) { 22 | 23 | var CSS = { 24 | loading: "boilerplate--loading", 25 | error: "boilerplate--error", 26 | errorIcon: "esri-icon-notice-round" 27 | }; 28 | 29 | var Type = { 30 | error: "Error:", 31 | warning: "Warning:", 32 | attention: "Attention:", 33 | snap: "Aw, Snap!" 34 | }; 35 | 36 | var _getMessage = function(error) { 37 | var userMsg; 38 | if (error.userMsg) { 39 | userMsg = error.userMsg + " " + error.message + "."; 40 | } else { 41 | userMsg = error.message + "."; 42 | } 43 | return userMsg; 44 | } 45 | 46 | var Message = { 47 | show: function(errType, error, log, showMessages, clear) { 48 | errType = errType || Message.type.error; 49 | error = error || new Error("Styler error"); 50 | var userMsg = Message.getMessage(error); 51 | // Hide loading 52 | domClass.remove(document.body, CSS.loading); 53 | // Show window 54 | if (showMessages) { 55 | var node = query(".calcite-alert .alert-message")[0]; 56 | if (node) { 57 | // Accumulate all error messages 58 | if (node.innerHTML && !clear) { 59 | node.innerHTML = node.innerHTML + "
" + errType + " " + userMsg + ""; 60 | } else { 61 | node.innerHTML = "" + errType + " " + userMsg + ""; 62 | } 63 | query(".calcite-alert").removeClass("hidden"); 64 | query(".calcite-alert .close").on("click", function(){ 65 | query(".calcite-alert").addClass("hidden"); 66 | if (node) { 67 | node.innerHTML = null; 68 | } 69 | }); 70 | } 71 | } 72 | if (log) { 73 | console.error(userMsg + " " + error.name); 74 | } 75 | return error; 76 | }, 77 | hide: function() { 78 | var node = dom.byId("calciteErrorMessage"); 79 | if (node) { 80 | query(".calcite-alert").addClass("hidden"); 81 | } 82 | }, 83 | log: function(errType, error) { 84 | var userMsg = Message.getMessage(errType, error); 85 | console.error(userMsg + " " + error.name); 86 | }, 87 | removeLoading: function() { 88 | domClass.remove(document.body, CSS.loading); 89 | } 90 | } 91 | 92 | Message.CSS = CSS; 93 | Message.type = Type; 94 | Message.getMessage = _getMessage; 95 | 96 | return Message; 97 | }); -------------------------------------------------------------------------------- /app/base/baselayouts.js: -------------------------------------------------------------------------------- 1 | /* 2 | | Copyright 2016 Esri 3 | | 4 | | Licensed under the Apache License, Version 2.0 (the "License"); 5 | | you may not use this file except in compliance with the License. 6 | | You may obtain a copy of the License at 7 | | 8 | | http://www.apache.org/licenses/LICENSE-2.0 9 | | 10 | | Unless required by applicable law or agreed to in writing, software 11 | | distributed under the License is distributed on an "AS IS" BASIS, 12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | | See the License for the specific language governing permissions and 14 | | limitations under the License. 15 | */ 16 | define([ 17 | "application/base/styles", 18 | "application/base/padding", 19 | ], function (STYLES, PADDING) { 20 | 21 | var BASELAYOUTS = { 22 | topSmall: { 23 | name: "top-small", 24 | theme: STYLES.layoutThemeSmall, 25 | navbar: { 26 | position: STYLES.navPositionTop, 27 | margin: "", 28 | fixedPosition: STYLES.navFixedTop, 29 | }, 30 | panels: STYLES.panelsRight, 31 | padding: PADDING.topSmall 32 | }, 33 | top: { 34 | name: "top", 35 | theme: "", 36 | navbar: { 37 | position: STYLES.navPositionTop, 38 | margin: "", 39 | fixedPosition: STYLES.navFixedTop, 40 | }, 41 | panels: STYLES.panelsRight, 42 | padding: PADDING.topMedium 43 | }, 44 | topMargin: { 45 | name: "top-margin", 46 | theme: "", 47 | navbar: { 48 | position: STYLES.navPositionTop, 49 | margin: STYLES.navMarginTop, 50 | fixedPosition: STYLES.navFixedTop, 51 | }, 52 | panels: STYLES.panelsRight, 53 | padding: PADDING.topMediumMargin 54 | }, 55 | topLarge: { 56 | name: "top-large", 57 | theme: STYLES.layoutThemeLarge, 58 | navbar: { 59 | position: STYLES.navPositionTop, 60 | margin: "", 61 | fixedPosition: STYLES.navFixedTop, 62 | }, 63 | panels: STYLES.panelsRight, 64 | padding: PADDING.topLarge 65 | }, 66 | bottomSmall: { 67 | name: "bottom-small", 68 | theme: STYLES.layoutThemeSmall, 69 | navbar: { 70 | position: STYLES.navPositionBottom, 71 | margin: "", 72 | fixedPosition: STYLES.navFixedBottom, 73 | }, 74 | panels: STYLES.panelsRight, 75 | padding: PADDING.bottomSmall 76 | }, 77 | bottom: { 78 | name: "bottom", 79 | theme: "", 80 | navbar: { 81 | position: STYLES.navPositionBottom, 82 | margin: "", 83 | fixedPosition: STYLES.navFixedBottom, 84 | }, 85 | panels: STYLES.panelsRight, 86 | padding: PADDING.bottomMedium 87 | }, 88 | bottomMargin: { 89 | name: "bottom-margin", 90 | theme: "", 91 | navbar: { 92 | position: STYLES.navPositionBottom, 93 | margin: STYLES.navMarginBottom, 94 | fixedPosition: STYLES.navFixedBottom, 95 | }, 96 | panels: STYLES.panelsRight, 97 | padding: PADDING.bottomMediumMargin 98 | }, 99 | bottomLarge: { 100 | name: "bottom-large", 101 | theme: STYLES.layoutThemeLarge, 102 | navbar: { 103 | position: STYLES.navPositionBottom, 104 | margin: "", 105 | fixedPosition: STYLES.navFixedBottom, 106 | }, 107 | panels: STYLES.panelsRight, 108 | padding: PADDING.bottomLarge 109 | } 110 | } 111 | 112 | return BASELAYOUTS; 113 | }); -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/Alert.js: -------------------------------------------------------------------------------- 1 | /* ========================================================== 2 | * Alert.js v3.0.0 3 | * ========================================================== 4 | * Copyright 2012 xsokev 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * ========================================================== */ 18 | 19 | define([ 20 | './Support', 21 | "dojo/_base/declare", 22 | "dojo/query", 23 | "dojo/_base/lang", 24 | 'dojo/_base/window', 25 | 'dojo/on', 26 | 'dojo/dom-class', 27 | 'dojo/dom-construct', 28 | "dojo/dom-attr", 29 | "dojo/NodeList-dom", 30 | 'dojo/NodeList-traverse', 31 | "dojo/domReady!" 32 | ], function (support, declare, query, lang, win, on, domClass, domConstruct, domAttr) { 33 | "use strict"; 34 | 35 | var dismissSelector = '[data-dismiss="alert"]'; 36 | var Alert = declare([], { 37 | defaultOptions:{}, 38 | constructor:function (element, options) { 39 | this.options = lang.mixin(lang.clone(this.defaultOptions), (options || {})); 40 | this.domNode = element; 41 | on(this.domNode, on.selector(dismissSelector, 'click'), lang.hitch(this, close)); 42 | } 43 | }); 44 | 45 | function close(e) { 46 | var _this = this; 47 | var selector = domAttr.get(_this, 'data-target'); 48 | if (!selector) { 49 | selector = support.hrefValue(_this); 50 | } 51 | var targetNode; 52 | if (selector && selector !== '#' && selector !== '') { 53 | targetNode = query(selector); 54 | } else { 55 | targetNode = domClass.contains(query(_this)[0], 'alert') ? query(_this) : query(_this).parent(); 56 | } 57 | 58 | if (e) { e.stopPropagation(); } 59 | 60 | on.emit(targetNode[0], 'close.bs.modal', {bubbles:true, cancelable:true}); 61 | domClass.remove(targetNode[0], 'in'); 62 | 63 | function _remove() { 64 | on.emit(targetNode[0], 'closed.bs.modal', {bubbles:true, cancelable:true}); 65 | domConstruct.destroy(targetNode[0]); 66 | } 67 | var transition = support.trans && domClass.contains(targetNode[0], 'fade'); 68 | if (transition) { on(targetNode[0], support.trans.end, _remove); } else { _remove(); } 69 | if (e) { e.preventDefault(); } 70 | return false; 71 | } 72 | 73 | lang.extend(query.NodeList, { 74 | alert:function (option) { 75 | var options = (lang.isObject(option)) ? option : {}; 76 | return this.forEach(function (node) { 77 | var data = support.getData(node, 'alert'); 78 | if (!data) { 79 | support.setData(node, 'alert', (data = new Alert(node, options))); 80 | } 81 | if (lang.isString(option) && option === "close") { 82 | close.call(node); 83 | } 84 | }); 85 | } 86 | }); 87 | on(win.body(), on.selector(dismissSelector, 'click'), close); 88 | 89 | return Alert; 90 | }); -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/Popover.js: -------------------------------------------------------------------------------- 1 | /* ========================================================== 2 | * Popover.js v3.0.0 3 | * ========================================================== 4 | * Copyright 2012 xsokev 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * ========================================================== */ 18 | define([ 19 | "dojo/_base/declare", 20 | "./Support", 21 | './Tooltip', 22 | "dojo/query", 23 | "dojo/_base/lang", 24 | 'dojo/on', 25 | 'dojo/dom-class', 26 | 'dojo/dom-construct', 27 | "dojo/dom-attr", 28 | 'dojo/html', 29 | "dojo/NodeList-dom", 30 | "dojo/NodeList-manipulate", 31 | "dojo/domReady!" 32 | ], function (declare, support, Tooltip, query, lang, on, domClass, domConstruct, domAttr, html) { 33 | "use strict"; 34 | 35 | var Popover = declare(Tooltip, { 36 | "-chains-":{ constructor:"manual" }, 37 | constructor:function (element, options) { 38 | options = lang.mixin({ 39 | placement:'right', 40 | trigger: 'click', 41 | content:'', 42 | template:'

' 43 | }, (options || {})); 44 | this.init('popover', element, options); 45 | }, 46 | setContent:function () { 47 | var tip = this.tip(); 48 | var title = this.getTitle(); 49 | var content = this.getContent(); 50 | query('.popover-title', tip)[this.options.html ? 'html' : 'text'](title); 51 | query('.popover-content', tip)[this.options.html ? 'html' : 'text'](content); 52 | domClass.remove(tip, 'fade in top bottom left right'); 53 | }, 54 | hasContent:function () { 55 | return this.getTitle() || this.getContent(); 56 | }, 57 | getContent:function () { 58 | return domAttr.get(this.domNode, 'data-content') || (typeof this.options.content === 'function' ? this.options.content.call(this.domNode) : this.options.content); 59 | }, 60 | tip:function () { 61 | return this.tipNode = (this.tipNode) ? this.tipNode : domConstruct.toDom(this.options.template); 62 | }, 63 | arrow:function () { 64 | this.arrowNode = this.arrowNode ? this.arrowNode : query('.arrow', this.tip())[0]; 65 | return this.arrowNode; 66 | }, 67 | destroy: function() { 68 | this.hide(); 69 | if (this.eventActivate) { this.eventActivate.remove(); } 70 | if (this.eventDeactivate) { this.eventDeactivate.remove(); } 71 | support.removeData(this.domNode, 'bs.popover'); 72 | } 73 | }); 74 | 75 | lang.extend(query.NodeList, { 76 | popover:function (option) { 77 | var options = (lang.isObject(option)) ? option : {}; 78 | return this.forEach(function (node) { 79 | var data = support.getData(node, 'bs.popover'); 80 | if (!data) { 81 | support.setData(node, 'bs.popover', (data = new Popover(node, options))); 82 | } 83 | if (lang.isString(option)) { 84 | data[option].call(data); 85 | } 86 | }); 87 | } 88 | }); 89 | return Popover; 90 | }); -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/Button.js: -------------------------------------------------------------------------------- 1 | /* ========================================================== 2 | * Button.js v3.0.0 3 | * ========================================================== 4 | * Copyright 2012 xsokev 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * ========================================================== */ 18 | 19 | define([ 20 | "./Support", 21 | "dojo/_base/declare", 22 | "dojo/query", 23 | "dojo/_base/lang", 24 | 'dojo/_base/window', 25 | 'dojo/on', 26 | 'dojo/dom-class', 27 | "dojo/dom-attr", 28 | "dojo/NodeList-dom", 29 | 'dojo/NodeList-traverse', 30 | "dojo/domReady!" 31 | ], function (support, declare, query, lang, win, on, domClass, domAttr) { 32 | "use strict"; 33 | 34 | var toggleSelector = '[data-toggle^=button]'; 35 | var toggleRadioSelector = '[data-toggle="buttons-radio"]'; 36 | var Button = declare([], { 37 | defaultOptions:{ 38 | "loading-text":'loading...' 39 | }, 40 | constructor:function (element, options) { 41 | this.options = lang.mixin(lang.clone(this.defaultOptions), (options || {})); 42 | this.domNode = element; 43 | }, 44 | setState:function (state) { 45 | var _this = this; 46 | var d = 'disabled'; 47 | support.getData(this.domNode, 'reset-text', lang.trim((this.domNode.tag === "INPUT") ? this.domNode.val : this.domNode.innerHTML)); 48 | state = state + '-text'; 49 | var data = support.getData(this.domNode, state); 50 | this.domNode[(this.domNode.tag === "INPUT") ? "val" : "innerHTML"] = data || this.options[state]; 51 | 52 | setTimeout(function () { 53 | if (state === 'loading-text') { 54 | domClass.add(_this.domNode, d); 55 | domAttr.set(_this.domNode, d, d); 56 | } else { 57 | domClass.remove(_this.domNode, d); 58 | domAttr.remove(_this.domNode, d); 59 | } 60 | }, 0); 61 | }, 62 | toggle:function () { 63 | var $parent = query(this.domNode).parents(toggleRadioSelector); 64 | if ($parent.length) { 65 | query('.active', $parent[0]).removeClass('active'); 66 | } 67 | domClass.toggle(this.domNode, 'active'); 68 | this.domNode.blur(); 69 | } 70 | }); 71 | 72 | lang.extend(query.NodeList, { 73 | button:function (option) { 74 | var options = (lang.isObject(option)) ? option : {}; 75 | return this.forEach(function (node) { 76 | var data = support.getData(node, 'button'); 77 | if (!data) { 78 | support.setData(node, 'button', (data = new Button(node, options))); 79 | } 80 | if (lang.isString(option) && option === 'toggle') { 81 | data.toggle(); 82 | } 83 | else if (option) { 84 | data.setState(option); 85 | } 86 | }); 87 | } 88 | }); 89 | 90 | on(win.body(), on.selector(toggleSelector, '.btn:click'), function (e) { 91 | var btn = e.target; 92 | if (!domClass.contains(btn, 'btn')){ 93 | btn = query(btn).closest('.btn'); 94 | } 95 | query(btn).button('toggle'); 96 | }); 97 | 98 | return Button; 99 | }); -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/Affix.js: -------------------------------------------------------------------------------- 1 | /* ========================================================== 2 | * Affix.js v3.0.0 3 | * ========================================================== 4 | * Copyright 2012 xsokev 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * ========================================================== */ 18 | 19 | define([ 20 | './Support', 21 | 'dojo/_base/declare', 22 | 'dojo/query', 23 | 'dojo/_base/lang', 24 | 'dojo/_base/window', 25 | 'dojo/on', 26 | 'dojo/dom-class', 27 | 'dojo/dom-construct', 28 | 'dojo/dom-attr', 29 | 'dojo/dom-style', 30 | 'dojo/dom-geometry', 31 | 'dojo/NodeList-dom', 32 | 'dojo/NodeList-traverse', 33 | 'dojo/domReady!' 34 | ], function (support, declare, query, lang, win, on, domClass, domConstruct, domAttr, domStyle, domGeom) { 35 | "use strict"; 36 | 37 | var spySelector = '[data-spy=affix]'; 38 | var Affix = declare([], { 39 | defaultOptions:{ 40 | offset: 0 41 | }, 42 | constructor:function (element, options) { 43 | this.options = lang.mixin(lang.clone(this.defaultOptions), (options || {})); 44 | this.domNode = element; 45 | on(win.global, 'scroll', lang.hitch(this, 'checkPosition')); 46 | on(win.global, 'click', lang.hitch(this, (function () { setTimeout(lang.hitch(this, 'checkPosition'), 1); }))); 47 | this.checkPosition(); 48 | }, 49 | checkPosition: function() { 50 | if (domStyle.get(this.domNode, 'display') === 'none') { return; } 51 | 52 | var pos = domGeom.position(this.domNode, false), 53 | scrollHeight = win.doc.height, 54 | scrollTop = win.global.scrollY, 55 | offset = this.options.offset, 56 | reset = 'affix affix-top affix-bottom', 57 | affix, 58 | offsetTop, 59 | offsetBottom; 60 | 61 | if (typeof offset !== 'object') { 62 | offsetBottom = offsetTop = offset; 63 | } else { 64 | if (typeof offset.top === 'function') { 65 | offsetTop = offset.top(); 66 | } else { 67 | offsetTop = offset.top || 0; 68 | } 69 | if (typeof offset.bottom === 'function') { 70 | offsetBottom = offset.bottom(); 71 | } else { 72 | offsetBottom = offset.bottom || 0; 73 | } 74 | } 75 | 76 | affix = this.unpin !== null && (scrollTop + this.unpin <= pos.y) ? 77 | false : offsetBottom !== null && (pos.y + pos.h >= scrollHeight - offsetBottom) ? 78 | 'bottom' : offsetTop !== null && scrollTop <= offsetTop ? 79 | 'top' : false; 80 | 81 | if (this.affixed === affix) { return; } 82 | 83 | this.affixed = affix; 84 | this.unpin = affix === 'bottom' ? pos.y - scrollTop : null; 85 | 86 | query(this.domNode).removeClass(reset).addClass('affix' + (affix ? '-' + affix : '')); 87 | } 88 | }); 89 | 90 | lang.extend(query.NodeList, { 91 | affix:function (option) { 92 | var options = (lang.isObject(option)) ? option : {}; 93 | return this.forEach(function (node) { 94 | var data = support.getData(node, 'affix'); 95 | if (!data) { 96 | support.setData(node, 'affix', (data = new Affix(node, options))); 97 | } 98 | if (lang.isString(option)) { 99 | data[option].call(data); 100 | } 101 | }); 102 | } 103 | }); 104 | 105 | query(spySelector).forEach(function (node) { 106 | var data = support.getData(node); 107 | data.offset = data.offset || {}; 108 | if(data['offset-bottom']) { data.offset.bottom = data['offset-bottom']; } 109 | if(data['offset-top']) { data.offset.top = data['offset-top']; } 110 | query(node).affix(data); 111 | }); 112 | 113 | return Affix; 114 | }); -------------------------------------------------------------------------------- /app/ui/HtmlTemplate.js: -------------------------------------------------------------------------------- 1 | /* 2 | | Copyright 2016 Esri 3 | | 4 | | Licensed under the Apache License, Version 2.0 (the "License"); 5 | | you may not use this file except in compliance with the License. 6 | | You may obtain a copy of the License at 7 | | 8 | | http://www.apache.org/licenses/LICENSE-2.0 9 | | 10 | | Unless required by applicable law or agreed to in writing, software 11 | | distributed under the License is distributed on an "AS IS" BASIS, 12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | | See the License for the specific language governing permissions and 14 | | limitations under the License. 15 | */ 16 | define([ 17 | "application/base/selectors", 18 | 19 | "dojo/dom", 20 | "dojo/dom-attr", 21 | "dojo/dom-class", 22 | "dojo/query", 23 | "dojo/dom-construct", 24 | 25 | "dojo/_base/declare", 26 | ], function ( 27 | SELECTORS, 28 | basemapDefs, 29 | Slide, Collection, Viewpoint, Extent, 30 | dom, domAttr, domClass, query, domConstruct, 31 | declare 32 | ) { 33 | 34 | return declare(null, { 35 | 36 | //-------------------------------------------------------------------------- 37 | // 38 | // Lifecycle 39 | // 40 | //-------------------------------------------------------------------------- 41 | 42 | constructor: function () { 43 | 44 | var menuContainer = query(SELECTORS.dropdownMenu); 45 | if (menuContainer && menuContainer.length > 0) { 46 | this._menuContainer = menuContainer[0]; 47 | } 48 | var panelContainer = query(SELECTORS.panelContainer); 49 | if (panelContainer && panelContainer.length > 0) { 50 | this._panelContainer = panelContainer; 51 | } 52 | 53 | // Menu 54 | //this._setMenusTitleText(i18n); 55 | // htmlBuilder.createMenuItem(i18n.menu.items.about, "About", "glyphicon-info-sign", "active", "last"); 56 | // htmlBuilder.createMenuItem(i18n.menu.items.legend, "Legend", "glyphicon-th-list", "", "last"); 57 | // htmlBuilder.createMenuItem(i18n.menu.items.basemaps, "Basemaps", "glyphicon-th-large", "", "last"); 58 | // htmlBuilder.createMenuItem(i18n.menu.items.slides, "Bookmarks", "glyphicon-picture", "", "last"); 59 | // htmlBuilder.createMenuItemToggle(i18n.menu.items.toggleNav, "calciteToggleNavbar", "ToggleNav", "glyphicon-fullscreen", "last"); 60 | 61 | }, 62 | 63 | createMenuItem: function (id, name, icon, active, location) { 64 | if (this._menuContainer) { 65 | var menu = this._menuTemplate(id, name, icon, active); 66 | domConstruct.place(menu, this._menuContainer, location); 67 | } 68 | }, 69 | 70 | createMenuItemToggle: function(id, id2, name, icon, location) { 71 | if (this._menuContainer) { 72 | var menu = this._menuTemplateToggle(id, id2, name, icon); 73 | domConstruct.place(menu, this._menuContainer, location); 74 | } 75 | }, 76 | 77 | createPanel: function (id, name, icon, active, location, bodyContent) { 78 | if (this._panelContainer) { 79 | var panel = this._panelTemplate; 80 | domConstruct.place(panel, panelContainer[0], location); 81 | } 82 | }, 83 | 84 | // Templates 85 | 86 | _menuTemplate: function(id, name, icon, active) { 87 | return ``; 88 | }, 89 | 90 | _menuTemplateToggle: function(id, id2, name, icon) { 91 | return ``; 92 | }, 93 | 94 | _panelTemplate: function (id, name, icon, active, bodyContent) { 95 | return `
96 | 102 |
103 |
${bodyContent}
104 |
105 |
`; 106 | }, 107 | 108 | _panelBodyLegend: function(legendDiv) { 109 | return `
`; 110 | } 111 | 112 | }) 113 | }); 114 | 115 | 116 | 117 | -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/Tab.js: -------------------------------------------------------------------------------- 1 | /* ========================================================== 2 | * Tab.js v3.0.0 3 | * ========================================================== 4 | * Copyright 2012 xsokev 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * ========================================================== */ 18 | define([ 19 | "dojo/_base/declare", 20 | "dojo/query", 21 | "dojo/_base/lang", 22 | 'dojo/_base/window', 23 | 'dojo/on', 24 | 'dojo/dom-class', 25 | "dojo/dom-attr", 26 | "./Support", 27 | "dojo/NodeList-dom", 28 | 'dojo/NodeList-traverse', 29 | "dojo/domReady!" 30 | ], function (declare, query, lang, win, on, domClass, domAttr, support) { 31 | "use strict"; 32 | 33 | var toggleSelector = '[data-toggle=tab], [data-toggle=pill]'; 34 | var Tab = declare([], { 35 | constructor:function (element) { 36 | this.domNode = element; 37 | }, 38 | show:function (e) { 39 | var _this = this; 40 | var ul = query(this.domNode).closest('ul:not(.dropdown-menu)'); 41 | var li = query(this.domNode).parent('li')[0]; 42 | if (li && domClass.contains(li, 'active')) { 43 | return; 44 | } 45 | var previous = query('.active a', ul[0]).last()[0]; 46 | 47 | on.emit(this.domNode, 'show.bs.tab', {bubbles:false, cancelable:false, relatedTarget:previous}); 48 | 49 | if (e && e.defaultPrevented) { return; } 50 | 51 | if (li && !domClass.contains(li, 'active')) { 52 | this.activate(li, ul[0]); 53 | } 54 | 55 | var selector = domAttr.get(this.domNode, 'data-target'); 56 | if (!selector) { 57 | selector = support.hrefValue(this.domNode); 58 | } 59 | var target; 60 | if (selector && selector !== '#' && selector !== '') { 61 | target = query(selector); 62 | if (target[0] && target.parent()[0]) { 63 | this.activate(target[0], target.parent()[0], function () { 64 | on.emit(_this.domNode, 'shown.bs.tab', {bubbles:false, cancelable:false, relatedTarget:previous}); 65 | }); 66 | } 67 | } 68 | }, 69 | activate:function (element, container, callback) { 70 | var active = query('> .active', container)[0]; 71 | var transition = callback && support.trans && active && domClass.contains(active, 'fade'); 72 | 73 | function next() { 74 | if (active) { 75 | domClass.remove(active, 'active'); 76 | query('> .dropdown-menu > .active', active).removeClass('active'); 77 | } 78 | domClass.add(element, 'active'); 79 | 80 | if (transition) { 81 | element.offsetWidth; 82 | domClass.add(element, 'in'); 83 | } else { 84 | domClass.remove(element, 'fade'); 85 | } 86 | 87 | if (query(element).parent('.dropdown-menu')[0]) { 88 | query(element).closest('li.dropdown').addClass('active'); 89 | } 90 | if (callback) { callback(); } 91 | } 92 | 93 | if (transition) { on.once(active, support.trans.end, next); } else { next(); } 94 | if (active) { 95 | domClass.remove(active, 'in'); 96 | } 97 | } 98 | }); 99 | 100 | lang.extend(query.NodeList, { 101 | tab:function (option) { 102 | return this.forEach(function (node) { 103 | var data = support.getData(node, 'tab'); 104 | if (!data) { 105 | support.setData(node, 'tab', (data = new Tab(node))); 106 | } 107 | if (lang.isString(option)) { 108 | data[option].call(data); 109 | } 110 | }); 111 | } 112 | }); 113 | on(win.body(), on.selector(toggleSelector, 'click'), function (e) { 114 | if(e){ e.preventDefault(); } 115 | query(this).tab("show"); 116 | }); 117 | 118 | return Tab; 119 | }); -------------------------------------------------------------------------------- /app/base/ParamValidator.js: -------------------------------------------------------------------------------- 1 | /* 2 | | Copyright 2016 Esri 3 | | 4 | | Licensed under the Apache License, Version 2.0 (the "License"); 5 | | you may not use this file except in compliance with the License. 6 | | You may obtain a copy of the License at 7 | | 8 | | http://www.apache.org/licenses/LICENSE-2.0 9 | | 10 | | Unless required by applicable law or agreed to in writing, software 11 | | distributed under the License is distributed on an "AS IS" BASIS, 12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | | See the License for the specific language governing permissions and 14 | | limitations under the License. 15 | */ 16 | define([ 17 | "dojo/text!config/appParams.json", 18 | "dojo/_base/declare" 19 | ], function ( 20 | AppParamsJSON, 21 | declare 22 | ) { 23 | 24 | return declare(null, { 25 | 26 | //-------------------------------------------------------------------------- 27 | // 28 | // Lifecycle 29 | // 30 | //-------------------------------------------------------------------------- 31 | 32 | constructor: function () { 33 | 34 | this._defaultParams = JSON.parse(AppParamsJSON); 35 | 36 | }, 37 | 38 | //-------------------------------------------------------------------------- 39 | // 40 | // Variables 41 | // 42 | //-------------------------------------------------------------------------- 43 | 44 | _params: null, 45 | 46 | _outParam: { 47 | valid: false, 48 | default: null 49 | }, 50 | 51 | //-------------------------------------------------------------------------- 52 | // 53 | // Public Functions 54 | // 55 | //-------------------------------------------------------------------------- 56 | 57 | getValidParams: function(paramsIn) { 58 | var validatedParams = {}; 59 | var invalidParams = ""; 60 | for (var param in paramsIn) { 61 | if (!paramsIn.hasOwnProperty(param)) continue; 62 | var val = paramsIn[param]; 63 | if (this._isValidParamValue(param,val)) { 64 | validatedParams[param] = val; 65 | } else { 66 | //console.warn("Styler - Unrecognized parameter or value: " + param + "=" + val) // TODO 67 | invalidParams = invalidParams + param + "=" + val + " "; 68 | } 69 | } 70 | 71 | // Remove params not needed - TODO 72 | //this._trimParams(validatedParams); 73 | 74 | return { validParams: validatedParams, 75 | invalidParams: invalidParams 76 | }; 77 | }, 78 | 79 | //-------------------------------------------------------------------------- 80 | // 81 | // Private Functions 82 | // 83 | //-------------------------------------------------------------------------- 84 | 85 | _trimParams: function(validParams) { 86 | // Scale and Zoom, just need one 87 | if (validParams.hasOwnProperty("scale") && validParams.hasOwnProperty("zoom")) { 88 | delete validParams["zoom"]; 89 | } 90 | // Rotation, remove if "0" 91 | if (validParams.hasOwnProperty("rotation") && validParams["rotation"] === "0") { 92 | delete validParams["rotation"]; 93 | } 94 | }, 95 | 96 | _isValidParamValue: function(param,value) { 97 | var valid = false; 98 | if (this._isValidParam(param)) { 99 | if (this._isValidValue(param,value)) { 100 | valid = true; 101 | } 102 | } 103 | return valid; 104 | }, 105 | 106 | _isValidParam: function(param) { 107 | return this._defaultParams.hasOwnProperty(param); 108 | }, 109 | 110 | _isValidValue: function(param,val) { 111 | var valid = false; 112 | var validParam = this._defaultParams[param]; 113 | switch (validParam.type) { 114 | case "boolean": 115 | valid = this._isValidTypeBoolean(val); // no need to get vals 116 | break; 117 | case "float": 118 | valid = this._isValidTypeFloat(val, validParam.values); 119 | break; 120 | case "integer": 121 | valid = this._isValidTypeInteger(val, validParam.values); 122 | break; 123 | case "value": 124 | valid = this._isValidTypeValue(val, validParam.values); 125 | break; 126 | case "string": 127 | valid = true; // All null or strings are valid 128 | break; 129 | } 130 | return valid; 131 | }, 132 | 133 | _isValidTypeBoolean: function(val) { 134 | if (val === true || val === "true" || val === false || val === "false") { 135 | return true; 136 | } else { 137 | return false; 138 | } 139 | }, 140 | 141 | _isValidTypeInteger: function(val, values) { 142 | var v = parseInt(val); 143 | if (v !== NaN && v >= values[0] && v <= values[1]) { 144 | return true; 145 | } else { 146 | return false; 147 | } 148 | }, 149 | 150 | _isValidTypeFloat: function(val, values) { 151 | var v = parseFloat(val); 152 | if (v !== NaN && v >= values[0] && v <= values[1]) { 153 | return true; 154 | } else { 155 | return false; 156 | } 157 | }, 158 | 159 | _isValidTypeValue: function(val, values) { 160 | if (val && values.indexOf(val) > -1) { 161 | return true; 162 | } else { 163 | return false; 164 | } 165 | } 166 | 167 | }) 168 | }); 169 | 170 | 171 | 172 | 173 | 174 | -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/assets/datepicker.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Datepicker for Bootstrap 3 | * 4 | * Original Idea: http://www.eyecon.ro/bootstrap-datepicker (Copyright 2012 Stefan Petre) 5 | * Updated by AymKdn (http://kodono.info - https://github.com/Aymkdn/Datepicker-for-Bootstrap) 6 | * Licensed under the Apache License v2.0 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | */ 10 | .datepicker { 11 | top: 0; 12 | left: 0; 13 | padding: 4px; 14 | margin-top: 1px; 15 | -webkit-border-radius: 4px; 16 | -moz-border-radius: 4px; 17 | border-radius: 4px; 18 | /*.dow { 19 | border-top: 1px solid #ddd !important; 20 | }*/ 21 | } 22 | .datepicker:before { 23 | content: ''; 24 | display: inline-block; 25 | border-left: 7px solid transparent; 26 | border-right: 7px solid transparent; 27 | border-bottom: 7px solid #ccc; 28 | border-bottom-color: rgba(0, 0, 0, 0.2); 29 | position: absolute; 30 | top: -7px; 31 | left: 6px; 32 | } 33 | .datepicker:after { 34 | content: ''; 35 | display: inline-block; 36 | border-left: 6px solid transparent; 37 | border-right: 6px solid transparent; 38 | border-bottom: 6px solid #ffffff; 39 | position: absolute; 40 | top: -6px; 41 | left: 7px; 42 | } 43 | .datepicker > div { 44 | display: none; 45 | } 46 | .datepicker table { 47 | width: 100%; 48 | margin: 0; 49 | } 50 | .datepicker td, .datepicker th { 51 | text-align: center; 52 | width: 20px; 53 | height: 20px; 54 | -webkit-border-radius: 4px; 55 | -moz-border-radius: 4px; 56 | border-radius: 4px; 57 | } 58 | .datepicker td.day:hover { 59 | background: #eeeeee; 60 | cursor: pointer; 61 | } 62 | .datepicker td.old, .datepicker td.new { 63 | color: #999999; 64 | } 65 | .datepicker td.active, .datepicker td.active:hover { 66 | background-color: #006dcc; 67 | background-image: -moz-linear-gradient(top, #0088cc, #0044cc); 68 | background-image: -ms-linear-gradient(top, #0088cc, #0044cc); 69 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); 70 | background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); 71 | background-image: -o-linear-gradient(top, #0088cc, #0044cc); 72 | background-image: linear-gradient(top, #0088cc, #0044cc); 73 | background-repeat: repeat-x; 74 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); 75 | border-color: #0044cc #0044cc #002a80; 76 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); 77 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 78 | color: #fff; 79 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); 80 | } 81 | .datepicker td.active:hover, 82 | .datepicker td.active:hover:hover, 83 | .datepicker td.active:active, 84 | .datepicker td.active:hover:active, 85 | .datepicker td.active.active, 86 | .datepicker td.active:hover.active, 87 | .datepicker td.active.disabled, 88 | .datepicker td.active:hover.disabled, 89 | .datepicker td.active[disabled], 90 | .datepicker td.active:hover[disabled] { 91 | background-color: #0044cc; 92 | } 93 | .datepicker td.active:active, 94 | .datepicker td.active:hover:active, 95 | .datepicker td.active.active, 96 | .datepicker td.active:hover.active { 97 | background-color: #003399; 98 | } 99 | .datepicker td span { 100 | display: block; 101 | width: 47px; 102 | height: 54px; 103 | line-height: 54px; 104 | float: left; 105 | margin: 2px; 106 | cursor: pointer; 107 | -webkit-border-radius: 4px; 108 | -moz-border-radius: 4px; 109 | border-radius: 4px; 110 | } 111 | .datepicker td span:hover { 112 | background: #eeeeee; 113 | } 114 | .datepicker td span.active { 115 | background-color: #006dcc; 116 | background-image: -moz-linear-gradient(top, #0088cc, #0044cc); 117 | background-image: -ms-linear-gradient(top, #0088cc, #0044cc); 118 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); 119 | background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); 120 | background-image: -o-linear-gradient(top, #0088cc, #0044cc); 121 | background-image: linear-gradient(top, #0088cc, #0044cc); 122 | background-repeat: repeat-x; 123 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); 124 | border-color: #0044cc #0044cc #002a80; 125 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); 126 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 127 | color: #fff; 128 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); 129 | } 130 | .datepicker td span.active:hover, 131 | .datepicker td span.active:active, 132 | .datepicker td span.active.active, 133 | .datepicker td span.active.disabled, 134 | .datepicker td span.active[disabled] { 135 | background-color: #0044cc; 136 | } 137 | .datepicker td span.active:active, .datepicker td span.active.active { 138 | background-color: #003399; 139 | } 140 | .datepicker td span.old { 141 | color: #999999; 142 | } 143 | .datepicker th.switch { 144 | width: 145px; 145 | } 146 | .datepicker thead tr:first-child th { 147 | cursor: pointer; 148 | } 149 | .datepicker thead tr:first-child th:hover { 150 | background: #eeeeee; 151 | } 152 | .input-append.date .add-on i, .input-prepend.date .add-on i { 153 | cursor: pointer; 154 | width: 16px; 155 | height: 16px; 156 | } 157 | .dropdown-menu.datepicker { max-width:220px } -------------------------------------------------------------------------------- /app/calcite-maps/js/dojo/calcitemaps-arcgis-support-v0.10.js: -------------------------------------------------------------------------------- 1 | /* ======================================================================== 2 | * Calcite Maps: calcitemaps-arcgis-support.js v0.4 (dojo) 3 | * ======================================================================== 4 | * Generic handlers for mapping-specific UI 5 | * 6 | * ======================================================================== */ 7 | 8 | define([ 9 | "dojo/_base/declare", 10 | "dojo/_base/lang", 11 | "dojo/query", 12 | "dojo/on", 13 | "dojo/domReady!" 14 | ], function(declare, lang, query, on) { 15 | 16 | var CalciteMapsArcGISSupport = declare(null, { 17 | 18 | searchEventsSet: false, 19 | 20 | constructor: function () { 21 | this._syncTabs(); 22 | }, 23 | 24 | //-------------------------------------------------------------------------- 25 | // 26 | // Private 27 | // 28 | //-------------------------------------------------------------------------- 29 | 30 | _syncTabs: function() { 31 | query(".calcite-navbar li a[data-toggle='tab']").on("click", function(e) { 32 | query(".calcite-navbar li.active").removeClass("active"); 33 | query(e.target).addClass("active"); 34 | }); 35 | }, 36 | 37 | //-------------------------------------------------------------------------- 38 | // 39 | // Public 40 | // 41 | //-------------------------------------------------------------------------- 42 | 43 | //---------------------------------- 44 | // Popup/Panel Synchronization - TODO 45 | //---------------------------------- 46 | 47 | setPopupPanelSync: function(view) { 48 | 49 | if (!view) { 50 | return; 51 | } 52 | 53 | var popup = view.popup; 54 | var screenSize = view.size; 55 | 56 | view.watch("size", function viewSizeChange(size) { 57 | if (screenSize[0] !== size[0] || screenSize[1] !== size[1]) { 58 | screenSize = size; 59 | setPanelVisibility(); 60 | } 61 | }); 62 | 63 | // Popups - Listen to popup changes to show/hide panels 64 | popup.watch(["visible", "dockEnabled", "currentDockPosition"], setPanelVisibility); 65 | 66 | function isDesktopCollision() { 67 | var collision = false; 68 | var panelsRight = query(".calcite-panels-right"); 69 | if (panelsRight.length > 0) { 70 | collision = (popup.currentDockPosition && popup.currentDockPosition === "top-right"); 71 | } else { 72 | collision = (popup.currentDockPosition && popup.currentDockPosition === "top-left") 73 | } 74 | return collision; 75 | } 76 | 77 | function setPanelVisibility() { 78 | var isMobileScreen = view.widthBreakpoint === "xsmall" || view.widthBreakpoint === "small"; 79 | var isDocked = popup.visible && popup.dockEnabled; 80 | var isDockedBottom = view.popup.currentDockPosition && view.popup.currentDockPosition.indexOf("bottom") > -1; 81 | 82 | // Mobile (xsmall/small) 83 | if (isMobileScreen) { 84 | if (isDocked && isDockedBottom) { 85 | query(".calcite-panels").addClass("invisible"); 86 | } else { 87 | query(".calcite-panels").removeClass("invisible"); 88 | } 89 | } else { // Desktop (medium+) 90 | if (isDocked && isDesktopCollision()) { 91 | query(".calcite-panels").addClass("invisible"); 92 | } else { 93 | query(".calcite-panels").removeClass("invisible"); 94 | } 95 | } 96 | } 97 | 98 | // Panels - Listen to panel changes to hide popup at mobile size 99 | query(".calcite-panels .panel").on("show.bs.collapse", function(e) { 100 | if (view.popup.dockEnabled || view.widthBreakpoint === "xsmall") { 101 | view.popup.dockEnabled = false; 102 | } 103 | }); 104 | }, 105 | 106 | //---------------------------------- 107 | // Search Expander 108 | //---------------------------------- 109 | 110 | setSearchExpandEvents: function(search) { 111 | 112 | if (!search) { 113 | return; 114 | } 115 | 116 | function setExpanded(e, expand) { 117 | var searchExpander = query(".calcite-search-expander .esri-search"); 118 | if (searchExpander && searchExpander.length > 0) { 119 | if (expand) { 120 | query(searchExpander[0]).addClass("calcite-search-expanded"); 121 | search._expanded = true; 122 | } else { 123 | query(searchExpander[0]).removeClass("calcite-search-expanded"); 124 | search._expanded = false; 125 | } 126 | } 127 | } 128 | 129 | // Set-up handlers 130 | var handle = query(".calcite-search-expander").on("click", function(e) { 131 | if (!this.searchEventsSet) { 132 | 133 | // Initial expand 134 | setExpanded(e, true); 135 | 136 | // Expand search 137 | query(".calcite-search-expander .esri-search__submit-button").on("click", function(e){ 138 | if (!search._expanded) { 139 | setExpanded(e, true); 140 | } 141 | }.bind(this)); 142 | 143 | // Collapse search 144 | search.view.on("immediate-click", function(e){ 145 | if (search._expanded) { 146 | setExpanded(e, false); 147 | } 148 | }); 149 | 150 | this.searchEventsSet = true; 151 | handle.remove(); 152 | } 153 | }.bind(this)); 154 | } 155 | 156 | }); 157 | 158 | return new CalciteMapsArcGISSupport(); 159 | }); -------------------------------------------------------------------------------- /app/base/Color.js: -------------------------------------------------------------------------------- 1 | /* 2 | | Copyright 2016 Esri 3 | | 4 | | Licensed under the Apache License, Version 2.0 (the "License"); 5 | | you may not use this file except in compliance with the License. 6 | | You may obtain a copy of the License at 7 | | 8 | | http://www.apache.org/licenses/LICENSE-2.0 9 | | 10 | | Unless required by applicable law or agreed to in writing, software 11 | | distributed under the License is distributed on an "AS IS" BASIS, 12 | | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | | See the License for the specific language governing permissions and 14 | | limitations under the License. 15 | */ 16 | define([ 17 | "application/base/styles", 18 | 19 | "dojo/query", 20 | "dojo/dom-construct", 21 | "dojo/_base/Color", 22 | "dojo/_base/declare" 23 | ], 24 | function( 25 | CALCITE_STYLES, 26 | query, domConstruct, Color, declare) { 27 | 28 | return declare(null, { 29 | 30 | //-------------------------------------------------------------------------- 31 | // 32 | // Lifecycle 33 | // 34 | //-------------------------------------------------------------------------- 35 | 36 | constructor: function () {}, 37 | 38 | //-------------------------------------------------------------------------- 39 | // 40 | // Public Members 41 | // 42 | //-------------------------------------------------------------------------- 43 | 44 | getRgba: function(bgColor, opacity) { 45 | var rgba; 46 | // rgb 47 | if (bgColor && typeof bgColor === "string") { 48 | // Handle transparent bg color 49 | var trans = bgColor.toLowerCase().replace(/\s+/g, ''); 50 | if (trans === "transparent" || trans === "rgba(0,0,0,0") { 51 | rgba = "rgba(0, 0, 0, 0)"; 52 | } else { //rgb, rgba or #xxx 53 | var c = Color.fromString(bgColor); 54 | if (c && (bgColor.indexOf("#") > -1 || bgColor.indexOf("rgb") > -1 || bgColor.indexOf("rgba") > -1)) { 55 | rgba = c.toString(); 56 | } else { // calcite style 57 | var bgColorStyle = "calcite-bgcolor-" + bgColor; 58 | rgba = this.getRgbaColorFromStyle(bgColorStyle); 59 | if (rgba === "rgba(0, 0, 0, 0)") { 60 | rgba = null; // invalid calcite color 61 | } 62 | } 63 | // Apply opacity 64 | if (rgba) { 65 | var cRgba = new Color(rgba); 66 | if (opacity) { 67 | var val = parseFloat(opacity); 68 | if (!isNaN(val)) { 69 | cRgba.a = val; 70 | } 71 | } 72 | rgba = cRgba.toCss(true); 73 | } 74 | } 75 | } 76 | return rgba; 77 | }, 78 | 79 | getRgbaColorFromStyle: function(calciteBgColorStyle) { 80 | var div = domConstruct.create("div", { id: "calcitecolor", class: calciteBgColorStyle }, document.body ); 81 | var rgba = query(div).style("background-color")[0]; 82 | domConstruct.destroy(div); 83 | return rgba; 84 | }, 85 | 86 | getTextStyleFromRgba: function(rgba) { 87 | var textStyle; 88 | if (rgba) { 89 | var c = Color.fromString(rgba); 90 | if (c) { 91 | var hsl = this._rgb2hsl(c.r, c.g, c.b); 92 | // Get the best complimentary text color 93 | if (hsl.l < 0.55) { 94 | textStyle = CALCITE_STYLES.textLight; 95 | } else { 96 | textStyle = CALCITE_STYLES.textDark; 97 | } 98 | } 99 | } 100 | return textStyle; 101 | }, 102 | 103 | getTextStyle: function(textColor) { 104 | var textStyle; 105 | if (textColor === "light") { 106 | textStyle = CALCITE_STYLES.textLight; 107 | } else if (textColor === "dark") { 108 | textStyle = CALCITE_STYLES.textDark; 109 | } 110 | return textStyle; 111 | }, 112 | 113 | //-------------------------------------------------------------------------- 114 | // 115 | // Private Methods 116 | // 117 | //-------------------------------------------------------------------------- 118 | 119 | _rgb2hsv: function() { 120 | var rr, gg, bb, 121 | r = arguments[0] / 255, 122 | g = arguments[1] / 255, 123 | b = arguments[2] / 255, 124 | h, s, 125 | v = Math.max(r, g, b), 126 | diff = v - Math.min(r, g, b), 127 | diffc = function(c){ 128 | return (v - c) / 6 / diff + 1 / 2; 129 | }; 130 | 131 | if (diff == 0) { 132 | h = s = 0; 133 | } else { 134 | s = diff / v; 135 | rr = diffc(r); 136 | gg = diffc(g); 137 | bb = diffc(b); 138 | 139 | if (r === v) { 140 | h = bb - gg; 141 | }else if (g === v) { 142 | h = (1 / 3) + rr - bb; 143 | }else if (b === v) { 144 | h = (2 / 3) + gg - rr; 145 | } 146 | if (h < 0) { 147 | h += 1; 148 | }else if (h > 1) { 149 | h -= 1; 150 | } 151 | } 152 | return { 153 | h: Math.round(h * 360), 154 | s: Math.round(s * 100), 155 | v: Math.round(v * 100) 156 | }; 157 | }, 158 | 159 | _rgb2hsl: function(r, g, b) { 160 | r /= 255, g /= 255, b /= 255; 161 | var max = Math.max(r, g, b), min = Math.min(r, g, b); 162 | var h, s, l = (max + min) / 2; 163 | 164 | if(max == min){ 165 | h = s = 0; // achromatic 166 | }else{ 167 | var d = max - min; 168 | s = l > 0.5 ? d / (2 - max - min) : d / (max + min); 169 | switch(max){ 170 | case r: h = (g - b) / d + (g < b ? 6 : 0); break; 171 | case g: h = (b - r) / d + 2; break; 172 | case b: h = (r - g) / d + 4; break; 173 | } 174 | h /= 6; 175 | } 176 | return { 177 | h: h, 178 | s: s, 179 | l: l 180 | }; 181 | } 182 | 183 | }); 184 | }); -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/assets/datepicker.less: -------------------------------------------------------------------------------- 1 | /* 2 | * Datepicker for Bootstrap 3 | * 4 | * Original Idea: http://www.eyecon.ro/bootstrap-datepicker (Copyright 2012 Stefan Petre) 5 | * Updated by AymKdn (http://kodono.info - https://github.com/Aymkdn/Datepicker-for-Bootstrap) 6 | * Licensed under the Apache License v2.0 7 | * http://www.apache.org/licenses/LICENSE-2.0 8 | * 9 | */ 10 | .datepicker { 11 | top: 0; 12 | left: 0; 13 | padding: 4px; 14 | margin-top: 1px; 15 | -webkit-border-radius: 4px; 16 | -moz-border-radius: 4px; 17 | border-radius: 4px; 18 | 19 | &:before { 20 | content: ''; 21 | display: inline-block; 22 | border-left: 7px solid transparent; 23 | border-right: 7px solid transparent; 24 | border-bottom: 7px solid #ccc; 25 | border-bottom-color: rgba(0, 0, 0, 0.2); 26 | position: absolute; 27 | top: -7px; 28 | left: 6px; 29 | } 30 | &:after { 31 | content: ''; 32 | display: inline-block; 33 | border-left: 6px solid transparent; 34 | border-right: 6px solid transparent; 35 | border-bottom: 6px solid #ffffff; 36 | position: absolute; 37 | top: -6px; 38 | left: 7px; 39 | } 40 | 41 | > div { 42 | display: none; 43 | } 44 | table { 45 | width: 100%; 46 | margin: 0; 47 | } 48 | td, th { 49 | text-align: center; 50 | width: 20px; 51 | height: 20px; 52 | -webkit-border-radius: 4px; 53 | -moz-border-radius: 4px; 54 | border-radius: 4px; 55 | } 56 | td { 57 | &.day:hover { 58 | background: #eeeeee; 59 | cursor: pointer; 60 | } 61 | &.old, &.new { 62 | color: #999999; 63 | } 64 | &.active, &.active:hover { 65 | background-color: #006dcc; 66 | background-image: -moz-linear-gradient(top, #0088cc, #0044cc); 67 | background-image: -ms-linear-gradient(top, #0088cc, #0044cc); 68 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); 69 | background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); 70 | background-image: -o-linear-gradient(top, #0088cc, #0044cc); 71 | background-image: linear-gradient(top, #0088cc, #0044cc); 72 | background-repeat: repeat-x; 73 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); 74 | border-color: #0044cc #0044cc #002a80; 75 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); 76 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 77 | color: #fff; 78 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); 79 | } 80 | &.active:hover, 81 | &.active:hover:hover, 82 | &.active:active, 83 | &.active:hover:active, 84 | &.active.active, 85 | &.active:hover.active, 86 | &.active.disabled, 87 | &.active:hover.disabled, 88 | &.active[disabled], 89 | &.active:hover[disabled] { 90 | background-color: #0044cc; 91 | } 92 | &.active:active, 93 | &.active:hover:active, 94 | &.active.active, 95 | &.active:hover.active { 96 | background-color: #003399; 97 | } 98 | 99 | span { 100 | display: block; 101 | width: 47px; 102 | height: 54px; 103 | line-height: 54px; 104 | float: left; 105 | margin: 2px; 106 | cursor: pointer; 107 | -webkit-border-radius: 4px; 108 | -moz-border-radius: 4px; 109 | border-radius: 4px; 110 | 111 | &:hover { 112 | background: #eeeeee; 113 | } 114 | &.active { 115 | background-color: #006dcc; 116 | background-image: -moz-linear-gradient(top, #0088cc, #0044cc); 117 | background-image: -ms-linear-gradient(top, #0088cc, #0044cc); 118 | background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); 119 | background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); 120 | background-image: -o-linear-gradient(top, #0088cc, #0044cc); 121 | background-image: linear-gradient(top, #0088cc, #0044cc); 122 | background-repeat: repeat-x; 123 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0); 124 | border-color: #0044cc #0044cc #002a80; 125 | border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); 126 | filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); 127 | color: #fff; 128 | text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); 129 | 130 | &:hover, 131 | &:active, 132 | &.active, 133 | &.disabled, 134 | &[disabled] { 135 | background-color: #0044cc; 136 | } 137 | &:active, &.active { 138 | background-color: #003399; 139 | } 140 | } 141 | &.old { 142 | color: #999999; 143 | } 144 | } 145 | } 146 | th { 147 | &.switch { 148 | width: 145px; 149 | } 150 | } 151 | 152 | thead { 153 | tr:first-child th { 154 | cursor: pointer; 155 | 156 | &:hover { 157 | background: #eeeeee; 158 | } 159 | } 160 | } 161 | } 162 | .input-append.date .add-on i, .input-prepend.date .add-on i { 163 | display: block; 164 | cursor: pointer; 165 | width: 16px; 166 | height: 16px; 167 | } 168 | .dropdown-menu.datepicker { max-width:220px } -------------------------------------------------------------------------------- /app/calcite-maps/js/dojo/calcitemaps-v0.10.js: -------------------------------------------------------------------------------- 1 | /* ======================================================================== 2 | * Calcite Maps: calcitemaps.js v0.2 (dojo) 3 | * ======================================================================== 4 | * Generic handlers for mapping-specific UI 5 | * 6 | * ======================================================================== */ 7 | 8 | define([ 9 | "dojo/_base/declare", 10 | "dojo/_base/lang", 11 | "dojo/query", 12 | "dojo/dom-class", 13 | "dojo/on", 14 | "dojo/domReady!" 15 | ], function(declare, lang, query, domClass, on) { 16 | 17 | var CalciteMaps = declare(null, { 18 | 19 | constructor: function () { 20 | 21 | this.initEvents(); 22 | 23 | }, 24 | 25 | //-------------------------------------------------------------------------- 26 | // 27 | // Public 28 | // 29 | //-------------------------------------------------------------------------- 30 | 31 | dropdownMenuItemSelector: ".calcite-navbar .calcite-dropdown li > a", 32 | 33 | autoCollapsePanel: true, 34 | 35 | preventOverscrolling: true, 36 | 37 | activePanel: null, 38 | 39 | stickyDropdownDesktop: false, 40 | 41 | stickyDropdownMobile: false, 42 | 43 | stickyDropdownBreakpoint: 768, 44 | 45 | //---------------------------------- 46 | // Initialize Handlers 47 | //---------------------------------- 48 | 49 | initEvents: function() { 50 | 51 | this.setDropdownItemEvents(); 52 | this.setDropdownToggleEvents(); 53 | this.setToggleNavbarClick(); 54 | this.setPanelEvents(); 55 | 56 | }, 57 | 58 | //---------------------------------- 59 | // Dropdown Menu Item Events 60 | //---------------------------------- 61 | 62 | setDropdownItemEvents: function() { 63 | 64 | var funcContext = function setNavbarEvents(e) { 65 | 66 | if (e.type === "keydown" && e.keyCode !== 13) { 67 | return; 68 | } 69 | 70 | var isPanel = false, 71 | panel = null, 72 | panelBody = null, 73 | panels = null; 74 | 75 | if (e.currentTarget.dataset.target) { 76 | panel = query(e.currentTarget.dataset.target); 77 | if (panel.length > 0) { 78 | isPanel = domClass.contains(panel[0], "panel"); 79 | } 80 | } 81 | 82 | // Toggle panels 83 | if (isPanel && panel) { 84 | // Close all panels and bodies 85 | query(panel).parent().query(".panel, .panel-collapse").removeClass("in"); 86 | // Show body 87 | query(panel).collapse("show").query(".panel-collapse").collapse("show"); 88 | // Set focus 89 | if (e.keyCode === 13) { 90 | panel.query(".panel-toggle")[0].focus(); 91 | } 92 | // Dismiss dropdown automatically 93 | var isMobile = window.innerWidth < this.stickyDropdownBreakpoint; 94 | if (isMobile && !this.stickyDropdownMobile || !isMobile && !this.stickyDropdownDesktop) { 95 | var toggle = query(".calcite-dropdown .dropdown-toggle")[0]; 96 | on.emit(toggle, "click", { bubbles: true, cancelable: true }); 97 | } 98 | // Set active panel 99 | this.activePanel = panel; 100 | } 101 | }.bind(this); 102 | 103 | // Show/hide panels 104 | 105 | query(this.dropdownMenuItemSelector).on(["click","keydown"], lang.hitch(this, funcContext)); 106 | 107 | }, 108 | 109 | //---------------------------------- 110 | // Manually show/hide the dropdown 111 | //---------------------------------- 112 | 113 | setDropdownToggleEvents: function() { 114 | 115 | // Manually show/hide the dropdown 116 | query(".calcite-dropdown .dropdown-toggle").on(["click","keydown"], function (e) { 117 | if (e.type === "keydown" && e.keyCode !== 13) { 118 | return; 119 | } 120 | query(this).parent().toggleClass("open"); 121 | query(".calcite-dropdown-toggle").toggleClass("open"); 122 | }); 123 | 124 | query(".calcite-dropdown").on("hide.bs.dropdown", function () { 125 | query(".calcite-dropdown-toggle").removeClass("open"); 126 | }); 127 | 128 | // Submenu 129 | 130 | // Dismiss dropdown menu 131 | query(window).on("click", function (e) { 132 | var menu = query(".calcite-dropdown.open")[0]; 133 | if (menu) { 134 | if (query(e.target).closest(".calcite-dropdown").length === 0) { 135 | query(menu).removeClass("open"); 136 | query(".calcite-dropdown-toggle").removeClass("open"); 137 | } 138 | } 139 | }); 140 | }, 141 | 142 | //---------------------------------- 143 | // Toggle navbar hidden 144 | //---------------------------------- 145 | 146 | setToggleNavbarClick: function() { 147 | 148 | query("#calciteToggleNavbar").on("click", function(e) { 149 | if (!domClass.contains(query("body")[0],"calcite-nav-hidden")) { 150 | query("body").addClass("calcite-nav-hidden"); 151 | } else { 152 | query("body").removeClass("calcite-nav-hidden"); 153 | } 154 | var menu = query(".calcite-dropdown .dropdown-toggle")[0]; 155 | if (menu) { 156 | on.emit(menu, "click", { bubbles: true, cancelable: true }); 157 | } 158 | }); 159 | 160 | }, 161 | 162 | //---------------------------------- 163 | // Panel Collapse Events 164 | //---------------------------------- 165 | 166 | setPanelEvents: function() { 167 | 168 | if (this.autoCollapsePanel) { 169 | // Hide 170 | query(".calcite-panels .panel .panel-collapse").on("hidden.bs.collapse", function(e) { 171 | query(e.target.parentNode).query(".panel-label, .panel-close").addClass("visible-mobile-only"); 172 | }); 173 | //Show 174 | query(".calcite-panels .panel .panel-collapse").on("show.bs.collapse", function(e) { 175 | query(e.target.parentNode).query(".panel-label, .panel-close").removeClass("visible-mobile-only"); 176 | }); 177 | } 178 | 179 | } 180 | 181 | }); 182 | 183 | return new CalciteMaps(); 184 | }); -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/Scrollspy.js: -------------------------------------------------------------------------------- 1 | /* ========================================================== 2 | * Scrollspy.js v3.0.0 3 | * ========================================================== 4 | * Copyright 2012 xsokev 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * ========================================================== */ 18 | 19 | define([ 20 | './Support', 21 | 'dojo/_base/declare', 22 | 'dojo/query', 23 | 'dojo/_base/lang', 24 | 'dojo/_base/window', 25 | 'dojo/on', 26 | 'dojo/dom-class', 27 | 'dojo/dom-construct', 28 | 'dojo/dom-attr', 29 | 'dojo/dom-geometry', 30 | 'dojo/NodeList-dom', 31 | 'dojo/NodeList-traverse', 32 | 'dojo/domReady!' 33 | ], function (support, declare, query, lang, win, on, domClass, domConstruct, domAttr, domGeom) { 34 | "use strict"; 35 | 36 | var spySelector = '[data-spy=scroll]'; 37 | var Scrollspy = declare([], { 38 | defaultOptions:{ 39 | offset:10 40 | }, 41 | constructor:function (element, options) { 42 | this.options = lang.mixin(lang.clone(this.defaultOptions), (options || {})); 43 | this.domNode = element.tagName === 'BODY' ? win.global : element; 44 | this.element = element; 45 | this.scrollEvent = on(this.domNode, 'scroll', lang.hitch(this, 'process')); 46 | this.selector = this.options.target; 47 | if (!this.selector) { 48 | this.selector = support.hrefValue(element); 49 | } 50 | this.selector += ' .nav li > a'; 51 | this.refresh(); 52 | this.process(); 53 | }, 54 | refresh:function () { 55 | this.offsets = []; 56 | this.targets = []; 57 | var container_offset = domGeom.position(this.element, false).y; 58 | query(this.selector, win.body()).map(function (node) { 59 | var href = support.getData(node, 'target') || domAttr.get(node, 'href'); 60 | var target = /^#\w/.test(href) && query(href); 61 | var pos; 62 | if (target[0]) { 63 | pos = domGeom.position(target[0], false); 64 | } 65 | return (target && target.length && [ pos.y - container_offset, href ] ) || null; 66 | }) 67 | .filter(function (item) { 68 | return item; 69 | }) 70 | .sort(function (a, b) { 71 | return a[0] - b[0]; 72 | }) 73 | .forEach(function (item) { 74 | this.offsets.push(item[0]); 75 | this.targets.push(item[1]); 76 | }, this); 77 | }, 78 | process:function () { 79 | var dompos = domGeom.position(this.element, false); 80 | 81 | // scrollTop determines how much the element is scrolled. 82 | // 83 | // In firefox, body has scrollTop set to 0 even when scrolled - hence we use dompos.y 84 | if (this.element.tagName === "BODY") { 85 | var scrollTop = Math.abs(Math.round(dompos.y)); 86 | } 87 | else { 88 | var scrollTop = this.element.scrollTop; 89 | } 90 | scrollTop += parseInt(this.options.offset, 10) 91 | var scrollHeight = this.element.scrollHeight || win.body().scrollHeight; 92 | //TODO: innerHeight may not work across browsers 93 | var domHeight = (this.element.tagName === "BODY") ? this.domNode.innerHeight : dompos.h; 94 | var maxScroll = Math.abs(scrollHeight - domHeight); 95 | var offsets = this.offsets; 96 | var targets = this.targets; 97 | var activeTarget = this.activeTarget; 98 | var i; 99 | if (scrollTop >= maxScroll) { 100 | return activeTarget !== (i = targets[targets.length - 1]) && this.activate(i); 101 | } 102 | for (i = offsets.length; i--;) { 103 | if (activeTarget !== targets[i] && scrollTop >= offsets[i] && (!offsets[i + 1] || scrollTop <= offsets[i + 1])) { 104 | this.activate(targets[i]); 105 | } 106 | } 107 | }, 108 | activate:function (target) { 109 | this.activeTarget = target; 110 | query(this.selector).parent('.active').removeClass('active'); 111 | var selector = this.selector + '[data-target="' + target + '"],' + this.selector + '[href="' + target + '"]'; 112 | var active = query(selector).parent('li').addClass('active'); 113 | if (active.parent('.dropdown-menu').length) { 114 | active = active.closest('li.dropdown').addClass('active'); 115 | } 116 | on.emit(active[0], 'activate.bs.scrollspy', {bubbles:false, cancelable:false}); 117 | } 118 | }); 119 | 120 | lang.extend(query.NodeList, { 121 | scrollspy:function (option) { 122 | var options = (lang.isObject(option)) ? option : {}; 123 | return this.forEach(function (node) { 124 | var data = support.getData(node, 'scrollspy'); 125 | if (!data) { 126 | support.setData(node, 'scrollspy', (data = new Scrollspy(node, options))); 127 | } 128 | if (lang.isString(option)) { 129 | data[option].call(data); 130 | } 131 | }); 132 | } 133 | }); 134 | 135 | query(spySelector).forEach(function (node) { 136 | query(node).scrollspy(support.getData(node)); 137 | }); 138 | 139 | return Scrollspy; 140 | }); 141 | -------------------------------------------------------------------------------- /app/application-base-js/support/itemUtils.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2017 Esri 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | 6 | you may not use this file except in compliance with the License. 7 | 8 | You may obtain a copy of the License at 9 | 10 | http://www.apache.org/licenses/LICENSE-2.0 11 | 12 | Unless required by applicable law or agreed to in writing, software 13 | 14 | distributed under the License is distributed on an "AS IS" BASIS, 15 | 16 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 | 18 | See the License for the specific language governing permissions and 19 | 20 | limitations under the License.​ 21 | */ 22 | var __assign = (this && this.__assign) || Object.assign || function(t) { 23 | for (var s, i = 1, n = arguments.length; i < n; i++) { 24 | s = arguments[i]; 25 | for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) 26 | t[p] = s[p]; 27 | } 28 | return t; 29 | }; 30 | define(["require", "exports", "esri/core/requireUtils", "esri/core/promiseUtils", "esri/core/watchUtils", "./urlUtils"], function (require, exports, requireUtils, promiseUtils, watchUtils, urlUtils_1) { 31 | "use strict"; 32 | Object.defineProperty(exports, "__esModule", { value: true }); 33 | //-------------------------------------------------------------------------- 34 | // 35 | // Public Methods 36 | // 37 | //-------------------------------------------------------------------------- 38 | function getConfigViewProperties(config) { 39 | var center = config.center, components = config.components, extent = config.extent, level = config.level, viewpoint = config.viewpoint; 40 | var ui = components 41 | ? { ui: { components: urlUtils_1.parseViewComponents(components) } } 42 | : null; 43 | var cameraProps = viewpoint ? { camera: urlUtils_1.parseViewpoint(viewpoint) } : null; 44 | var centerProps = center ? { center: urlUtils_1.parseCenter(center) } : null; 45 | var zoomProps = level ? { zoom: urlUtils_1.parseLevel(level) } : null; 46 | var extentProps = extent ? { extent: urlUtils_1.parseExtent(extent) } : null; 47 | return __assign({}, ui, cameraProps, centerProps, zoomProps, extentProps); 48 | } 49 | exports.getConfigViewProperties = getConfigViewProperties; 50 | function createView(properties) { 51 | var map = properties.map; 52 | if (!map) { 53 | return promiseUtils.reject("properties does not contain a \"map\""); 54 | } 55 | var isWebMap = map.declaredClass === "esri.WebMap"; 56 | var isWebScene = map.declaredClass === "esri.WebScene"; 57 | if (!isWebMap && !isWebScene) { 58 | return promiseUtils.reject("map is not a \"WebMap\" or \"WebScene\""); 59 | } 60 | var viewTypePath = isWebMap ? "esri/views/MapView" : "esri/views/SceneView"; 61 | return requireUtils.when(require, viewTypePath).then(function (ViewType) { 62 | return new ViewType(properties); 63 | }); 64 | } 65 | exports.createView = createView; 66 | function createMapFromItem(options) { 67 | var item = options.item, appProxies = options.appProxies; 68 | var isWebMap = item.type === "Web Map"; 69 | var isWebScene = item.type === "Web Scene"; 70 | if (!isWebMap && !isWebScene) { 71 | return promiseUtils.reject(); 72 | } 73 | return isWebMap 74 | ? createWebMapFromItem(options) 75 | : createWebSceneFromItem(options); 76 | } 77 | exports.createMapFromItem = createMapFromItem; 78 | function createWebMapFromItem(options) { 79 | var item = options.item, appProxies = options.appProxies; 80 | return requireUtils.when(require, "esri/WebMap").then(function (WebMap) { 81 | var wm = new WebMap({ 82 | portalItem: item 83 | }); 84 | return wm.load().then(function () { 85 | return _updateProxiedLayers(wm, appProxies); 86 | }); 87 | }); 88 | } 89 | exports.createWebMapFromItem = createWebMapFromItem; 90 | function createWebSceneFromItem(options) { 91 | var item = options.item, appProxies = options.appProxies; 92 | return requireUtils.when(require, "esri/WebScene").then(function (WebScene) { 93 | var ws = new WebScene({ 94 | portalItem: item 95 | }); 96 | return ws.load().then(function () { 97 | return _updateProxiedLayers(ws, appProxies); 98 | }); 99 | }); 100 | } 101 | exports.createWebSceneFromItem = createWebSceneFromItem; 102 | function getItemTitle(item) { 103 | if (item && item.title) { 104 | return item.title; 105 | } 106 | } 107 | exports.getItemTitle = getItemTitle; 108 | function goToMarker(marker, view) { 109 | if (!marker || !view) { 110 | return promiseUtils.resolve(); 111 | } 112 | return urlUtils_1.parseMarker(marker).then(function (graphic) { 113 | view.graphics.add(graphic); 114 | var view2 = view; // todo: Typings will be fixed in next release. 115 | return view2.goTo(graphic); 116 | }); 117 | } 118 | exports.goToMarker = goToMarker; 119 | function findQuery(query, view) { 120 | // ?find=redlands, ca 121 | if (!query || !view) { 122 | return promiseUtils.resolve(); 123 | } 124 | return requireUtils 125 | .when(require, "esri/widgets/Search/SearchViewModel") 126 | .then(function (SearchViewModel) { 127 | var searchVM = new SearchViewModel({ 128 | view: view 129 | }); 130 | return searchVM.search(query).then(function (result) { 131 | watchUtils.whenFalseOnce(view, "popup.visible", function () { 132 | return searchVM.destroy(); 133 | }); 134 | return result; 135 | }); 136 | }); 137 | } 138 | exports.findQuery = findQuery; 139 | //-------------------------------------------------------------------------- 140 | // 141 | // Private Methods 142 | // 143 | //-------------------------------------------------------------------------- 144 | function _updateProxiedLayers(webItem, appProxies) { 145 | if (!appProxies) { 146 | return webItem; 147 | } 148 | appProxies.forEach(function (proxy) { 149 | webItem.layers.forEach(function (layer) { 150 | if (layer.url === proxy.sourceUrl) { 151 | layer.url = proxy.proxyUrl; 152 | } 153 | }); 154 | }); 155 | return webItem; 156 | } 157 | }); 158 | -------------------------------------------------------------------------------- /config/appParams.json: -------------------------------------------------------------------------------- 1 | { 2 | "appid": { 3 | "type": "string", 4 | "values": null 5 | }, 6 | "group": { 7 | "type": "string", 8 | "values": null 9 | }, 10 | "webmap": { 11 | "type": "string", 12 | "values": null 13 | }, 14 | "webscene": { 15 | "type": "string", 16 | "values": null 17 | }, 18 | "title": { 19 | "type": "string", 20 | "values": null 21 | }, 22 | "subtitle": { 23 | "type": "string", 24 | "values": null 25 | }, 26 | "abouttext": { 27 | "type": "string", 28 | "values": null 29 | }, 30 | "aboutsummary": { 31 | "type": "boolean", 32 | "values": [true,false] 33 | }, 34 | "aboutdescription": { 35 | "type": "boolean", 36 | "values": [true,false] 37 | }, 38 | "theme": { 39 | "type": "value", 40 | "values": "dark,light,custom" 41 | }, 42 | "themecustom": { 43 | "type": "boolean", 44 | "values": [true,false] 45 | }, 46 | "bgcolor": { 47 | "type": "string", 48 | "values": "dark,light,rgb,rgba,*" 49 | }, 50 | "textcolor": { 51 | "type": "value", 52 | "values": "dark,light" 53 | }, 54 | "opacity": { 55 | "type": "float", 56 | "values": [0,1] 57 | }, 58 | "widgettheme": { 59 | "type": "value", 60 | "values": "dark,light" 61 | }, 62 | "menuabout": { 63 | "type": "boolean", 64 | "values": [true,false] 65 | }, 66 | "menulegend": { 67 | "type": "boolean", 68 | "values": [true,false] 69 | }, 70 | "menulayers": { 71 | "type": "boolean", 72 | "values": [true,false] 73 | }, 74 | "menubasemaps": { 75 | "type": "boolean", 76 | "values": [true,false] 77 | }, 78 | "menuslides": { 79 | "type": "boolean", 80 | "values": [true,false] 81 | }, 82 | "menubookmarks": { 83 | "type": "boolean", 84 | "values": [true,false] 85 | }, 86 | "menuprint": { 87 | "type": "boolean", 88 | "values": [true,false] 89 | }, 90 | "menushare": { 91 | "type": "boolean", 92 | "values": [true,false] 93 | }, 94 | "menutogglenav": { 95 | "type": "boolean", 96 | "values": [true,false] 97 | }, 98 | "activepanel": { 99 | "type": "value", 100 | "values": "about,basemaps,legend,layers,slides,bookmarks,print" 101 | }, 102 | "menustyledrawer": { 103 | "type": "boolean", 104 | "values": [true,false] 105 | }, 106 | "popupdocking": { 107 | "type": "value", 108 | "values": "auto,top-center,top-right,top-left,bottom-right,bottom-left,bottom-center,none" 109 | }, 110 | "layout": { 111 | "type": "value", 112 | "values": "top,top-small,medium,top-medium,top-large,bottom,bottom-small,bottom-medium,bottom-large" 113 | }, 114 | "panelslayout": { 115 | "type": "value", 116 | "values": "right,left" 117 | }, 118 | "widgetslayout": { 119 | "type": "value", 120 | "values": "top-right,top-left,bottom-right,bottom-left" 121 | }, 122 | "zoomin": { 123 | "type": "value", 124 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 125 | }, 126 | "home": { 127 | "type": "value", 128 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 129 | }, 130 | "compass": { 131 | "type": "value", 132 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 133 | }, 134 | "navtoggle": { 135 | "type": "value", 136 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 137 | }, 138 | "locate": { 139 | "type": "value", 140 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 141 | }, 142 | "track": { 143 | "type": "value", 144 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 145 | }, 146 | "search": { 147 | "type": "value", 148 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 149 | }, 150 | "legend": { 151 | "type": "value", 152 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 153 | }, 154 | "scalebar": { 155 | "type": "value", 156 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 157 | }, 158 | "basemaptoggle": { 159 | "type": "value", 160 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 161 | }, 162 | "nextbasemap": { 163 | "type": "value", 164 | "values": "streets,satellite,hybrid,topo,gray,dark-gray,oceans,national-geographic,terrain,osm,dark-gray-vector,gray-vector,streets-vector,topo-vector,streets-night-vector,streets-relief-vector,streets-navigation-vector" 165 | }, 166 | "measure": { 167 | "type": "value", 168 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 169 | }, 170 | "slice": { 171 | "type": "value", 172 | "values": "show,hide,top-right,top-left,bottom-right,bottom-left" 173 | }, 174 | "mapcoords": { 175 | "type": "boolean", 176 | "values": [true,false] 177 | }, 178 | "searchnav": { 179 | "type": "boolean", 180 | "values": [true,false] 181 | }, 182 | "findplaces": { 183 | "type": "boolean", 184 | "values": [true,false] 185 | }, 186 | "search": { 187 | "type": "string", 188 | "values": "*" 189 | }, 190 | "places": { 191 | "type": "string", 192 | "values": "*" 193 | }, 194 | "showerrors": { 195 | "type": "boolean", 196 | "values": [true,false] 197 | }, 198 | "lat": { 199 | "type": "float", 200 | "values": [-90,90] 201 | }, 202 | "lon": { 203 | "type": "float", 204 | "values": [-180,180] 205 | }, 206 | "x": { 207 | "type": "float", 208 | "values": [-10000000,10000000] 209 | }, 210 | "y": { 211 | "type": "float", 212 | "values": [-10000000,10000000] 213 | }, 214 | "zoom": { 215 | "type": "integer", 216 | "values": [1,25] 217 | }, 218 | "scale": { 219 | "type": "float", 220 | "values": [1,1000000000] 221 | }, 222 | "rotation": { 223 | "type": "integer", 224 | "values": [0,360] 225 | }, 226 | "heading": { 227 | "type": "integer", 228 | "values": [0,360] 229 | }, 230 | "tilt": { 231 | "type": "integer", 232 | "values": [0,90] 233 | }, 234 | "altitude": { 235 | "type": "float", 236 | "values": [-10000000,10000000] 237 | }, 238 | "wkid": { 239 | "type": "integer", 240 | "values": [2000,103799] 241 | }, 242 | "basemap": { 243 | "type": "value", 244 | "values": "streets,satellite,hybrid,topo,gray,dark-gray,oceans,national-geographic,terrain,osm,dark-gray-vector,gray-vector,streets-vector,topo-vector,streets-night-vector,streets-relief-vector,streets-navigation-vector" 245 | }, 246 | "sharinghost": null, 247 | "portalUrl": "https://www.arcgis.com", 248 | "oauthappid": "", 249 | "proxyUrl": "", 250 | "units": "", 251 | "helperServices": { 252 | "geometry": { 253 | "url": null 254 | }, 255 | "printTask": { 256 | "url": null 257 | }, 258 | "elevationSync": { 259 | "url": null 260 | }, 261 | "geocode": [{ 262 | "url": null 263 | }] 264 | } 265 | } 266 | -------------------------------------------------------------------------------- /app/calcite-maps/vendor/dojo-bootstrap/Dropdown.js: -------------------------------------------------------------------------------- 1 | /* ========================================================== 2 | * Dropdown.js v3.0.0 3 | * ========================================================== 4 | * Copyright 2012 xsokev 5 | * 6 | * Licensed under the Apache License, Version 2.0 (the "License"); 7 | * you may not use this file except in compliance with the License. 8 | * You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, software 13 | * distributed under the License is distributed on an "AS IS" BASIS, 14 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | * See the License for the specific language governing permissions and 16 | * limitations under the License. 17 | * ========================================================== */ 18 | 19 | define([ 20 | './Support', 21 | "dojo/_base/event", 22 | "dojo/_base/declare", 23 | "dojo/query", 24 | "dojo/_base/lang", 25 | 'dojo/_base/window', 26 | 'dojo/on', 27 | 'dojo/dom-class', 28 | "dojo/dom-attr", 29 | 'dojo/dom-construct', 30 | 'dojo/NodeList-traverse', 31 | 'dojo/NodeList-manipulate', 32 | "dojo/domReady!" 33 | ], function (support, event, declare, query, lang, win, on, domClass, domAttr, domConstruct) { 34 | "use strict"; 35 | 36 | var toggleSelector = '[data-toggle=dropdown]'; 37 | var backDropSelector = '.dropdown-backdrop'; 38 | var Dropdown = declare([], { 39 | defaultOptions:{}, 40 | constructor:function (element, options) { 41 | this.options = lang.mixin(lang.clone(this.defaultOptions), (options || {})); 42 | var el = query(element).closest(toggleSelector); 43 | if (!el[0]) { 44 | el = query(element); 45 | } 46 | if (el) { 47 | this.domNode = el[0]; 48 | domAttr.set(el[0], "data-toggle", "dropdown"); 49 | } 50 | }, 51 | select: function(e){ 52 | var parentNode = _getParent(this)[0]; 53 | if (parentNode) { 54 | var target = query(toggleSelector, parentNode); 55 | // Fix for not setting dropdown target 56 | if (target.length < 1) { 57 | target = [e.target.parentElement]; 58 | } 59 | on.emit(target[0], 'select', { bubbles:true, cancelable:true, selectedItem: query(e.target).closest('li') }); 60 | } 61 | }, 62 | toggle: function(e){ 63 | if (domClass.contains(this, "disabled") || domAttr.get(this, "disabled")) { 64 | return false; 65 | } 66 | var targetNode = _getParent(this)[0]; 67 | if (targetNode) { 68 | var isActive = domClass.contains(targetNode, 'open'), 69 | inNav = query(targetNode).closest('.navbar-nav').length > 0; 70 | clearMenus(); 71 | if (!isActive) { 72 | if('ontouchstart' in document.documentElement && !inNav){ 73 | var backdrop = domConstruct.toDom('