offline-editor-js/lib/edit/OfflineUtils.js

62 lines
1.6 KiB
JavaScript

var OfflineUtils = function(){
this._hydrate = new Hydrate();
/**
* Returns a date string of month/day/year hours:minutes:seconds
* @returns {string}
*/
this.getDateMDYHMS = function(){
var date = new Date();
var hh = date.getHours();
var mm = date.getMinutes();
var ss = date.getSeconds();
hh = hh < 10 ? "0" + hh : hh;
mm = mm < 10 ? "0" + mm : mm;
ss = ss < 10 ? "0" + ss : ss;
var dateHMS = (date.getMonth()+1) + "/"+ date.getDate()
+ "/" + date.getFullYear() + " "
+ hh + ":"
+ mm + ":"
+ ss;
return dateHMS;
}
/**
* Measures the size of the graphic's geometry and attributes.
* This is a very fast method that only provides a basic estimation.
* @param graphic
* @returns {number}
*/
this.apprxGraphicSize = function(graphic) {
var g = this._serializeGraphic(graphic);
return ((g.length *2)/1024/1024).round(4);
}
this._serializeGraphic = function(/* Graphic */ graphic){
var json = new this._jsonGraphicsObject();
json.geometry = JSON.stringify(graphic.geometry)
if(graphic.hasOwnProperty("attributes")){
if(graphic.attributes != null){
var q = this._hydrate.stringify(graphic.attributes);
json.attributes = q;
}
}
return JSON.stringify(json);
}
/**
* Model for storing serialized graphics
* @private
*/
this._jsonGraphicsObject = function(){
this.geometry = null;
this.attributes = null;
}
}