javascript - क्या रैली एसडीके 2 एप से सेटिंग्स की स्थापना और पुनः प्राप्त करने का एक उदाहरण है?



extjs rally (1)

एक सेटिंग्स ऑब्जेक्ट कैसा दिखता है? मैं कुछ के साथ सेटिंग्स को अपडेट करने और कुछ दिलचस्प वापस पाने के लिए प्रतीत नहीं कर सकता। मैं इसे बाहर मुद्रित कर रहा हूँ। सेटिंग्स और हर बार जब मैं ताज़ा करता हूँ, यह सिर्फ कोई मूल्य नहीं के साथ एक प्रोटोटाइप ऑब्जेक्ट लॉग करता है।

यह मेरा परीक्षण ऐप कैसा दिखता है। मैं इसे रैली के अंदर एक पैनल में डाल रहा हूं, दूर से नहीं चल रहा हूं

<script type="text/javascript" src="/apps/2.0p2/sdk.js"></script>

<script type="text/javascript">
    Rally.onReady(function() {
        /*global console, Ext */

        Ext.define('CustomApp', {
            extend: 'Rally.app.App',
            componentCls: 'app',

            launch: function() {
                //Write app code here
                console.log( "settings", this.settings );
                this.updateSettings( { Name: 'test', Value: Ext.JSON.encode( { test: "blah" } ) } );
            }
        });

        Rally.launchApp('CustomApp', {
            name: 'test'
        });
    });
</script>

मेरे द्वारा उपयोग किए जा रहे पूर्वावलोकन संस्करण में एक बग है। और मैं गलत तरह की पसंद को पारित करने की कोशिश कर रहा था ध्यान दें कि वरीयताओं को ऐप आईडी में स्कॉच किया गया है, न कि प्रोजेक्ट या वर्कस्पेस पर। चूंकि इसे ऐप की आईडी की आवश्यकता है, इसलिए रैली के बाहर चलाते समय यह काम नहीं करता है।

बग यह है कि UpdateSettings फ़ंक्शन में एक पंक्ति गुम है आप अपनी ऐप परिभाषा में एक ही समारोह जोड़कर इसे आसानी से ओवरराइड कर सकते हैं (क्या यह साफ नहीं है कि स्रोत को डॉक्स में शामिल किया गया है?) बस इस तरह से फ़ंक्शन करें:

updateSettings: function(options){
  Rally.data.PreferenceManager.updateAppPreferences({
    appID: this.getContext().get('appID'),
    settings: options.settings,
    success: function(updatedSettings){
      Ext.apply(this.settings, updatedSettings);
      if(options.success){
        options.success.call(options.scope);
      }
    },
    scope: this
  });
}

इसलिए, वरीयता वस्तु इस तरह से पारित होनी चाहिए:

this.updateSettings( {settings: { test: "blah" ) } } );

फिर, जब यह वापस आ जाता है, तो GetSetting ("परीक्षण") मुझे "blah" देगा (यह "परीक्षा" के बराबर नाम के साथ वरीयता बनाता है, "ब्ला" के बराबर मान और वर्तमान ऐप के बराबर एक AppId