DevExtreme Remove Specific View from Cache

I wanted to remove a specific view from the DevExtreme View Cache, but examples were not pointing the correct way.

I have a view named "showAccountInfo" and when I tried to remove it, I would get an error that it was not found.  I found the view name was actually "home_1_showAccountInfo" and was due to the fact that I performed an app.navigate({ view: 'showAccountInfo' }) to that view because I did not have it in the core menu items.

Here are the steps I took to get the correct name and remove a specific DevExtreme View from the Cache.

1. Capture View Name: 

  • Capture the view name in the model binding.  
  • Add the "viewInfo" parameter to the view function.
  • Add the viewInfo.key to a Global Var
Account.showAccountInfo = function (params, viewInfo) {
   var viewModel = {
        viewShown: function (e) {
            pageAcctInit(viewInfo.key);
        }
    };
    return viewModel;
};

//---------------------------------------------------
//Set a global var with the view key.
//---------------------------------------------------
function pageAcctInit(viewKey)
{
    _ViewKeyAcctInfo = viewKey;
}

2. Remove View from Cache: In my case when the user navigated back to the home page, and then back to the "Account Info" I will remove the view from the cache before I navigate.

//Remove the view from the cache
if (_ViewKeyAcctInfo != undefined) removeViewFromCache(_ViewKeyAcctInfo);
       
//Navigate to un-cached view!
Account_Inquiry.app.navigate({ view: 'showAccountInfo' });

 

Phonegap Cordova installation windows

The information below was taking from a StackOverflow Post at this link.

Follow these steps

  1. Download and Install node.js from http://nodejs.org/
  2. Run the command npm install -g phonegap (in case of phonegap installation) or run the command npm install -g cordova (in case of Cordova installation).
  3. As the installation gets completed you can notice this:

    C:\Users\binaryuser\AppData\Roaming\npm\cordova -> C:\Users\binaryuser\AppData\Roaming\npm\node_modules\cordova\bin\cordova
    cordova@3.0.9 C:\Users\binaryuser\AppData\Roaming\npm\node_modules\cordova
    ├── ncallbacks@1.0.0
    ├── open@0.0.3
    ├── colors@0.6.2
    ├── semver@1.1.0
    ├── shelljs@0.1.2
    ├── follow-redirects@0.0.3 (underscore@1.5.2)
    ├── elementtree@0.1.3 (sax@0.3.5)
    ├── optimist@0.6.0 (wordwrap@0.0.2, minimist@0.0.2)
    ├── xcode@0.5.1 (node-uuid@1.3.3, pegjs@0.6.2)
    ├── glob@3.2.6 (inherits@2.0.1, minimatch@0.2.12)
    ├── plist@0.4.3 (xmlbuilder@0.4.2, xmldom@0.1.16)
    ├── tar@0.1.18 (inherits@2.0.1, block-stream@0.0.7, fstream@0.1.24)
    ├── prompt@0.2.7 (revalidator@0.1.5, pkginfo@0.3.0, read@1.0.5, utile@0.1.7, winston@0.6.2)
    ├── request@2.22.0 (json-stringify-safe@4.0.0, aws-sign@0.3.0, qs@0.6.5, oauth-sign@0.3.0, forever-agent@0.5.0, cookie-jar@0.3.0, tunnel-agent@0.3.0, mime@1.2.11, node-uuid@1.4.1, http-signature@0.10.0, hawk@0.13.1, form-data@0.0.8)
    ├── express@3.0.0 (methods@0.0.1, fresh@0.1.0, range-parser@0.0.4, crc@0.2.0, cookie@0.0.4, commander@0.6.1, debug@0.7.2, mkdirp@0.3.3, send@0.1.0, connect@2.6.0)
    ├── ripple-emulator@0.9.18 (connect-xcors@0.5.2, colors@0.6.0-1, accounting@0.3.2, request@2.12.0, moment@1.7.2, express@3.1.0)
    ├── npm@1.3.11
    └── plugman@0.11.0 (ncallbacks@1.1.0, osenv@0.0.3, bplist-parser@0.0.4, underscore@1.4.4, semver@2.0.11, dep-graph@1.1.0, elementtree@0.1.5, xcode@0.6.1, nopt@1.0.10, rc@0.3.0, tar.gz@0.1.1, npm@1.3.4)
    
  4. Notice the above line you can see the path were the file is mentioned. Copy that path. In my case it is C:\Users\binaryuser\AppData\Roaming\npm\cordova so use cd C:\Users\binaryuser\AppData\Roaming\npm\ and type cordova. There it is, it finally works.

  5. Since the -g key value isn't working you have set the Environment Variables path:
    1. Press Win + Pause|Break or right click on Computer and choose Properties.
    2. Click Advanced system settings on the left.
    3. Click Environment Variables under the Advanced tab.
    4. Select the PATH variable and click Edit.
    5. Copy the path mentioned above to the value field and press OK.