mirror of
https://github.com/Esri/offline-editor-js.git
synced 2025-12-15 15:20:05 +00:00
this works for basic reload
This commit is contained in:
parent
0d1baa2422
commit
23f9eaecd0
57
Gruntfile.js
57
Gruntfile.js
@ -17,23 +17,47 @@ module.exports = function(grunt) {
|
||||
options: {
|
||||
basePath: "./",
|
||||
cache: ["# <%= pkg.name %>, version: <%= pkg.version %>",
|
||||
"# Home Page",
|
||||
"samples/appcache-tiles.html",
|
||||
"# ArcGIS API for JavaScript files",
|
||||
"<%= pkg.baseURL %>/",
|
||||
"<%= pkg.baseURL %>/init.js",
|
||||
"<%= pkg.baseURL %>/js/dojo/dojox/gfx/svg.js",
|
||||
"<%= pkg.baseURL %>/js/dojo/dojo/resources/blank.gif",
|
||||
"<%= pkg.baseURL %>/js/esri/css/esri.css",
|
||||
"<%= pkg.baseURL %>/js/esri/nls/jsapi_en-us.js",
|
||||
"<%= pkg.baseURL %>/js/esri/images/map/logo-sm.png",
|
||||
"<%= pkg.baseURL %>/js/esri/images/map/logo-med.png",
|
||||
"<%= pkg.baseURL %>/js/esri/dijit/images/ajax-loader.gif",
|
||||
"<%= pkg.baseURL %>/js/esri/dijit/images/popup.png",
|
||||
"http://services.arcgisonline.com/ArcGIS/rest/info?f=json",
|
||||
"http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer?f=json&callback=dojo.io.script.jsonp_dojoIoScript1._jsonpCallback",
|
||||
"<%= pkg.optimizedApiURL %>/dojo/dojo.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojo/main.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojox/gfx/svg.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojo/_base/browser.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojox/gfx/shape.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojo/nls/dojo_en-us.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojox/gfx/shape.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojox/gfx/path.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojo/request.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojo/_base/NodeList.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojo/selector/acme.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojo/_base/loader.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojo/request/default.js",
|
||||
"<%= pkg.optimizedApiURL %>/esri/geometry.js",
|
||||
"<%= pkg.optimizedApiURL %>/esri/geometry/geodesicUtils.js",
|
||||
"<%= pkg.optimizedApiURL %>/esri/geometry/normalizeUtils.js",
|
||||
"<%= pkg.optimizedApiURL %>/esri/dijit/Attribution.js",
|
||||
"<%= pkg.optimizedApiURL %>/esri/units.js",
|
||||
"<%= pkg.optimizedApiURL %>/dojo/fx/Toggler.js",
|
||||
"<%= pkg.arcGISBaseURL %>/js/dojo/dojox/gfx/svg.js",
|
||||
"<%= pkg.arcGISBaseURL %>/js/dojo/dojo/resources/blank.gif",
|
||||
"<%= pkg.arcGISBaseURL %>/js/esri/dijit/images/ajax-loader.gif",
|
||||
"<%= pkg.arcGISBaseURL %>/js/esri/images/map/logo-sm.png",
|
||||
"<%= pkg.arcGISBaseURL %>/js/esri/images/map/logo-med.png",
|
||||
"<%= pkg.arcGISBaseURL %>/js/esri/css/esri.css",
|
||||
"<%= pkg.arcGISBaseURL %>/js/esri/nls/jsapi_en-us.js",
|
||||
"//services.arcgisonline.com/ArcGIS/rest/info?f=json",
|
||||
"//static.arcgis.com/attribution/World_Topo_Map?f=json",
|
||||
"//services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer?f=json&callback=dojo.io.script.jsonp_dojoIoScript1._jsonpCallback",
|
||||
"# required for web maps",
|
||||
"<%= pkg.arcGISBaseURL %>/js/esri/dijit/images/ajax-loader.gif",
|
||||
"<%= pkg.arcGISBaseURL %>/js/esri/dijit/images/popup.png",
|
||||
"# required custom libs",
|
||||
"js/app.js",
|
||||
"css/style.css"],
|
||||
network: ["http://*", "https://*"],
|
||||
"# /xyz/style.css",
|
||||
"# /img/1.png"],
|
||||
network: [
|
||||
"*"
|
||||
],
|
||||
/*fallback: ["/ /offline.html"],*/
|
||||
exclude: ["js/jquery.min.js", "vendor/**.sass", "vendor/**/src"],
|
||||
/*preferOnline: true,*/
|
||||
@ -43,8 +67,11 @@ module.exports = function(grunt) {
|
||||
src: [
|
||||
"*.html",
|
||||
/*"js/*.min.js",*/
|
||||
"samples/images/*.png",
|
||||
"vendor/IndexedDBShim/dist/*.min.js",
|
||||
"vendor/offline/offline.min.js",
|
||||
"lib/tiles/*.js",
|
||||
"utils/*.js"
|
||||
/*
|
||||
"images/*",
|
||||
"css/*.css"
|
||||
|
||||
@ -1,32 +1,58 @@
|
||||
CACHE MANIFEST
|
||||
# This manifest was generated by grunt-manifest HTML5 Cache Manifest Generator
|
||||
# Time: Tue Apr 01 2014 11:36:38 GMT-0600 (MDT)
|
||||
# Time: Tue Apr 01 2014 15:53:09 GMT-0600 (MDT)
|
||||
|
||||
CACHE:
|
||||
# manifest-generator, version: 0.0.1
|
||||
# Home Page
|
||||
samples/appcache-tiles.html
|
||||
# ArcGIS API for JavaScript files
|
||||
//js.arcgis.com/3.8/
|
||||
//js.arcgis.com/3.8/init.js
|
||||
//js.arcgis.com/3.8/js/dojo/dojox/gfx/svg.js
|
||||
//js.arcgis.com/3.8/js/dojo/dojo/resources/blank.gif
|
||||
//js.arcgis.com/3.8/js/esri/css/esri.css
|
||||
//js.arcgis.com/3.8/js/esri/nls/jsapi_en-us.js
|
||||
//js.arcgis.com/3.8/js/esri/images/map/logo-sm.png
|
||||
//js.arcgis.com/3.8/js/esri/images/map/logo-med.png
|
||||
//js.arcgis.com/3.8/js/esri/dijit/images/ajax-loader.gif
|
||||
//js.arcgis.com/3.8/js/esri/dijit/images/popup.png
|
||||
http://services.arcgisonline.com/ArcGIS/rest/info?f=json
|
||||
http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer?f=json&callback=dojo.io.script.jsonp_dojoIoScript1._jsonpCallback
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojo/dojo.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojo/main.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojox/gfx/svg.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojo/_base/browser.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojox/gfx/shape.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojo/nls/dojo_en-us.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojox/gfx/shape.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojox/gfx/path.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojo/request.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojo/_base/NodeList.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojo/selector/acme.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojo/_base/loader.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojo/request/default.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/esri/geometry.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/esri/geometry/geodesicUtils.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/esri/geometry/normalizeUtils.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/esri/dijit/Attribution.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/esri/units.js
|
||||
http://jsdev.arcgis.com/o/andygup/appcache1/dojo/fx/Toggler.js
|
||||
http://js.arcgis.com/3.8/js/dojo/dojox/gfx/svg.js
|
||||
http://js.arcgis.com/3.8/js/dojo/dojo/resources/blank.gif
|
||||
http://js.arcgis.com/3.8/js/esri/dijit/images/ajax-loader.gif
|
||||
http://js.arcgis.com/3.8/js/esri/images/map/logo-sm.png
|
||||
http://js.arcgis.com/3.8/js/esri/images/map/logo-med.png
|
||||
http://js.arcgis.com/3.8/js/esri/css/esri.css
|
||||
http://js.arcgis.com/3.8/js/esri/nls/jsapi_en-us.js
|
||||
//services.arcgisonline.com/ArcGIS/rest/info?f=json
|
||||
//static.arcgis.com/attribution/World_Topo_Map?f=json
|
||||
//services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer?f=json&callback=dojo.io.script.jsonp_dojoIoScript1._jsonpCallback
|
||||
# required for web maps
|
||||
http://js.arcgis.com/3.8/js/esri/dijit/images/ajax-loader.gif
|
||||
http://js.arcgis.com/3.8/js/esri/dijit/images/popup.png
|
||||
# required custom libs
|
||||
js/app.js
|
||||
css/style.css
|
||||
# /xyz/style.css
|
||||
# /img/1.png
|
||||
samples/images/blue-pin.png
|
||||
samples/images/red-pin.png
|
||||
vendor/IndexedDBShim/dist/IndexedDBShim.min.js
|
||||
vendor/offline/offline.min.js
|
||||
lib/tiles/FileSaver.js
|
||||
lib/tiles/base64utils.js
|
||||
lib/tiles/dbStore.js
|
||||
lib/tiles/offlineTilesEnabler.js
|
||||
lib/tiles/tilingScheme.js
|
||||
utils/appCacheManager.js
|
||||
utils/debouncer.js
|
||||
|
||||
NETWORK:
|
||||
http://*
|
||||
https://*
|
||||
*
|
||||
|
||||
@ -5,8 +5,8 @@
|
||||
"https://www.npmjs.org/doc/cli/npm-init.html"
|
||||
],
|
||||
"name": "manifest-generator",
|
||||
"optimizedApiURL": "//jsdev.arcgis.com/o/andygup/appcache1",
|
||||
"arcGISBaseURL":"//js.arcgis.com/3.8",
|
||||
"optimizedApiURL": "http://jsdev.arcgis.com/o/andygup/appcache1",
|
||||
"arcGISBaseURL":"http://js.arcgis.com/3.8",
|
||||
"version": "0.0.1",
|
||||
"private": true,
|
||||
"description": "manifest generator project",
|
||||
|
||||
@ -160,20 +160,24 @@
|
||||
function updateState(){
|
||||
if(Offline.state === 'up'){
|
||||
imgOfflineIndicator.src = bluePinPath;
|
||||
tiles.goOnline();
|
||||
baseMapLayer.goOnline();
|
||||
}
|
||||
else{
|
||||
imgOfflineIndicator.src = redPinPath;
|
||||
tiles.goOffline();
|
||||
baseMapLayer.goOffline();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function updateOfflineUsage()
|
||||
{
|
||||
var count = getEstimateTileCount(function(info){
|
||||
console.log("COUNT " + info)
|
||||
tileInfo.innerHTML = "Tile count: " + info.tileCount + "\r\nBytes: " + info.sizeBytes;
|
||||
var count = getEstimateTileCount(function(info,err){
|
||||
if(info != null){
|
||||
console.log("COUNT " + info)
|
||||
tileInfo.innerHTML = "Tile count: " + info.tileCount + "\r\nBytes: " + info.sizeBytes;
|
||||
}
|
||||
else{
|
||||
console.log("ERROR updateOfflineUsage(): " + JSON.stringify(err));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -187,25 +191,31 @@
|
||||
var level = map.getLevel();
|
||||
var url = baseMapLayer.getTileUrlsByExtent(extent,level)[0];
|
||||
baseMapLayer._lastTileUrl = url;
|
||||
baseMapLayer.estimateTileSize(function(tileSize){
|
||||
baseMapLayer.estimateTileSize(function(tileSize,err){
|
||||
|
||||
var totalEstimation = {tileCount:0,sizeBytes:0};
|
||||
if(tileSize != null){
|
||||
var totalEstimation = {tileCount:0,sizeBytes:0};
|
||||
|
||||
var min = map.getLevel() + minZoomAdjust;
|
||||
var max = map.getLevel() + maxZoomAdjust;
|
||||
var maxZoom = Math.min(mMaxZoom, max); //prevent errors by setting the tile layer floor
|
||||
var minZoom = Math.max(mMinZoom, min); //prevent errors by setting the tile layer ceiling
|
||||
var min = map.getLevel() + minZoomAdjust;
|
||||
var max = map.getLevel() + maxZoomAdjust;
|
||||
var maxZoom = Math.min(mMaxZoom, max); //prevent errors by setting the tile layer floor
|
||||
var minZoom = Math.max(mMinZoom, min); //prevent errors by setting the tile layer ceiling
|
||||
|
||||
for(var level = minZoom; level<= maxZoom; level++)
|
||||
{
|
||||
var levelEstimation = baseMapLayer.getLevelEstimation(this.getExtentBuffer(EXTENT_BUFFER,map.extent),level,tileSize);
|
||||
for(var level = minZoom; level<= maxZoom; level++)
|
||||
{
|
||||
var levelEstimation = baseMapLayer.getLevelEstimation(baseMapLayer.getExtentBuffer(EXTENT_BUFFER,map.extent),level,tileSize);
|
||||
|
||||
totalEstimation.tileCount += levelEstimation.tileCount;
|
||||
totalEstimation.sizeBytes += levelEstimation.sizeBytes;
|
||||
totalEstimation.tileCount += levelEstimation.tileCount;
|
||||
totalEstimation.sizeBytes += levelEstimation.sizeBytes;
|
||||
}
|
||||
|
||||
console.log("Size estimate: " + totalEstimation.sizeBytes + ", tile count: " + totalEstimation.tileCount)
|
||||
callback(totalEstimation,null);
|
||||
}
|
||||
else{
|
||||
callback(null,err);
|
||||
}
|
||||
|
||||
console.log("Size estimate: " + totalEstimation.sizeBytes + ", tile count: " + totalEstimation.tileCount)
|
||||
callback(totalEstimation);
|
||||
}.bind(this))
|
||||
}
|
||||
}
|
||||
@ -276,26 +286,16 @@
|
||||
btnOnlineOffline.innerHTML = "2. Go Online";
|
||||
imgOfflineIndicator.src = redPinPath;
|
||||
imgOfflineIndicator.offlineColor = "red";
|
||||
goOffline();
|
||||
baseMapLayer.goOffline();
|
||||
}
|
||||
else{
|
||||
btnOnlineOffline.innerHTML = "2. Go Offline";
|
||||
imgOfflineIndicator.src = bluePinPath;
|
||||
imgOfflineIndicator.offlineColor = "blue";
|
||||
goOnline();
|
||||
baseMapLayer.goOnline();
|
||||
}
|
||||
}
|
||||
|
||||
function goOnline()
|
||||
{
|
||||
baseMapLayer.goOnline();
|
||||
}
|
||||
|
||||
function goOffline()
|
||||
{
|
||||
baseMapLayer.goOffline();
|
||||
}
|
||||
|
||||
function panLeft(){
|
||||
map.panLeft();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user