1
Changeset 628 – MultiMag

Changeset 628


Ignore:
Timestamp:
Feb 4, 2014, 4:09:04 AM (4 years ago)
Author:
blacklight
Message:
  • Доработка кеширования журнала документов
Location:
trunk/web
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/web/js/doc_journal.js

    r627 r628  
    172172        mmCacheObject.storage = new Array;
    173173        var ls_flag = 0;
    174         if(typeof(localStorage) != undefined )
    175                 ls_flag = 1;
    176                
    177         mmCacheObject.set = function (name, object) {
     174       
     175        function getExpires() {
     176                var expires = new Object;
     177                var expires_str = localStorage.getItem('__EXPIRES__');
     178                if(expires_str)
     179                        expires = JSON.parse(expires_str);
     180                return expires;
     181        }
     182       
     183        function setTTL(name, ttl) {
     184                var expires = getExpires();
     185                expires[name] = new Date().getTime() + ttl;
     186                localStorage.setItem('__EXPIRES__', JSON.stringify(expires) );
     187        }
     188       
     189        mmCacheObject.set = function (name, object, ttl) {
     190                if(!ttl)        ttl = 60000;    // miliseconds
    178191                try {
    179                         if(ls_flag)
    180                                 localStorage.setItem(name, JSON.stringify(object) );
    181                         else    mmCacheObject.storage[name] = object;
     192                        localStorage.setItem(name, JSON.stringify(object) );
     193                        setTTL(name, ttl);
     194                        mmCacheObject.storage[name] = object;
    182195                }
    183196                catch (e) {
     
    189202        mmCacheObject.get = function (name) {
    190203                try {
    191                         if(ls_flag)
     204                        var expires = getExpires();
     205                       
     206                        if(!expires[name])      return undefined;
     207                       
     208                        if(expires[name]< (new Date().getTime())) {
     209                                localStorage.removeItem(name);
     210                                expires[name] = null;
     211                                localStorage.setItem('__EXPIRES__', JSON.stringify(expires) );
     212                                return undefined;
     213                        }
     214                        if(mmCacheObject.storage[name]) {
     215                                return mmCacheObject.storage[name];
     216                        }
     217                        else    {
    192218                                return JSON.parse(localStorage.getItem(name));
    193                         else    return mmCacheObject.storage[name];
     219                        }
    194220                }
    195221                catch (e) {
     
    199225       
    200226        mmCacheObject.unset = function (name) {
    201                 if(ls_flag)
    202                         localStorage.removeItem(name);
    203                 else    mmCacheObject.storage[name] = null;
     227                localStorage.removeItem(name);
     228                mmCacheObject.storage[name] = null;
    204229        };
    205230       
     
    326351        var firmnames = cache.get('firmnames');
    327352        var posnames = cache.get('posnames');
     353       
    328354
    329355        function buildFilterQuery() {
     
    555581                        if (!data.end) {
    556582                                function execRequest() {
    557                                         requestData(part + 1)
     583                                        //alert('req '+(part+1));
     584                                        requestData(part + 1);
    558585                                }
    559586                                //window.setTimeout(execRequest, 120);
  • trunk/web/json.php

    r627 r628  
    4545        protected $order_field = false; //< Поле, по которому будет выполнена сортировка
    4646        protected $order_reverse = false; //< Обратное направление сортировки (от большего к меньшему)
    47         protected $limit = 500; //< лимит на количество строк в ответе
     47        protected $limit = 1000; //< лимит на количество строк в ответе
    4848
    4949        /// Устанавливает опции в значение value
Note: See TracChangeset for help on using the changeset viewer.