Settings

অ্যাপ সেটিংস  অনুমোদন দেয় ব্যবহারকারীদের ডিভাইস সেটিংসের বাহ্যিক আকার দিতে এবং আর ও সাড়া  দেয় আগত কার্যক্রমে যা  অ্যাপ থেকে নির্দিষ্ট সেটিংস দর্শন  প্রদর্শন  করাতে অ্যাপ উন্নতকারীদের অনুমোদন দেয়।(বি দ্র ওয়াই ফাই সেটিংস প্যানেল দেখাও যদি ডাটা সংযোগ না পাওয়া যায়)।এই অনিচ্ছেদ ব্যাখা করে কিভাবে এটি কাজ করে।

মোয সেটিংস অ্যাপি এবং ডাটা বাইণ্ডিং

কৌশলগতভাবে বলতে ,সেটিংস অ্যাপ হল  UI যা ব্যবহারকারীদের   window.navigator.mozSettings API পরীক্ষণের সুবিধা প্রদান করে।

অ্যাপ সেটিংস  সয়ংক্রীয়ভাবে প্রধান সেটিংস অপারেশন যেমন ডাটা বাইন্ডিং ক্ষেত্র এবং মোয সেটিংস ভ্যালুস নিয়ন্ত্রন করে-সকল প্রধান অপারেশন যেমন টগলিং এ সেটিংস অথবা ইনপুট ভ্যালু পরিবর্তন ওমোয সেটিংস ভ্যালুসের পরিবর্তনে ও ফলাফল আনবে।

 window.navigator.mozSettings অ্যাপি গেক থেকে সেটিংস সুবিধা দেয়।ব্যবহিত এরকম কিছু দেখেঃ

navigator.mozSettings.createLock().set(values);

ডাটা সেটের জন্য।

নোটঃ আমাদের   createLock()ব্যবহার করা দরকার কোনো  mozSettings ভ্যালুর সেটিংস পড়া অথবা লেখার আগে  তা বন্ধ করতে।

ডাটা সরাতে,আমরা  গেট এবং সেট এ কলব্যাক ফাংশন নিচের ডাটার মত কিছু অপারেশন শুরু করতে ব্যবহার করতে পারিঃ

var reqTimerGoBack =
window.navigator.mozSettings.createLock().get('icc.goBackTimeout');
reqTimerGoBack.onsuccess = function icc_getTimerGoBackSuccess() {
  goBackTimer.timeout = reqTimerGoBack.result['icc.goBackTimeout'];
    ...
};

ডাটা জমা থাকেএকটি instance.result  ডিক্টে।

ফায়ারফক্স  ২.0, একটি একক  mozSettingsযা তৎক্ষনাৎপুনরায় ব্যবহার করা যায়  js/modules/settings_cache.js এর মধ্য দিয়েঃ

var SettingsCache = require('modules/settings_cache');

SettingsCache.getSettings(function(result){
  var onlineSupportTitle = result['support.onlinesupport.title'];
    ...
});

 নেভিগেশন

 যখন ব্যবহা্রকারী অ্যাপ  সেটিংস ওপেন করে,তারা উপরের  পৃষ্ঠায় কিছু প্যানেলের তালিকা দেখে,   যেগুলো  স্বাধীন পৃষঠা হিসেবে কাজ করে। SettingsService.navigate (js/module/settings_service.js) ঐ সব  পৃষ্ঠার মধ্যে ন্যাভিগেশন নিয়ন্ত্রণ করে।

নোট: উত্তরাধীকার সূত্রেপ্রাপ্ত প্যানেলের জন্য ( যেগুলো নতুন রূপে  এখনো খোলা হয়নি),  সেটিংস। বর্তমান  প্যানেল সেটিংস সার্ভিসের পরিবর্তে  ব্যবহার হয়।  প্যানেল গুলোর  মধ্যে  নেভিগেশন থেকে নেভিগেশন করে।

  যেহেতু ফায়ারফক্স ওস ট্যাবলেট ডিভাইস এবং মোবাইল   সমর্থন করে, অ্যাপ সেটিংস দুটি ভিন্ন রকমের নেভিগেশন রূপ বাস্তবায়িত করেছেঃ

  •  প্রথম কলাম(মোবাইলের জন্য)
  • দ্বিতীয় কলাম(ট্যা্বলেটের জন্য)

 যখন বলা হয়, SettingsService.navigate  কোন নেভিগেশন রূপ ব্যবহার করে তা নিচের  কোডের  মাধ্যমে নির্দেশ করেঃ

if (_isTabletAndLandscape()) {
  PageTransitions.twoColumn(oldPanel, newPanel, callback);
} else {
  PageTransitions.oneColumn(oldPanel, newPanel, callback);
}

প্যানেল

ফায়ারফক্স ও এস ২.0 সামনেরদিকে থেকে, প্রধান প্যানেল গঠন বর্ণনা করা হয়েছে js/modules/panel.js এ।এটা ৬ টি ধাপে জীবন চক্র বর্ণনা করেঃ

  • init
  • beforeShow
  • show
  • hide
  • beforeHide
  • uninit

সকল নতুন সেটিংস প্যানেল গুলো উত্তরাধীকারসূত্রে  SettingsPanel থেকে প্রাপ্ত,যা Panel  এর কার্যক্রমকে বর্ধিত করে। কোডটি  js/modules/settings_panel.js  বহন করেছেঃ

onInit: function(panel, initOptions) {
  ...

  PanelUtils.activate(panel);
},

onBeforeShow: function(panel, beforeShowOptions) {
  // Preset the panel every time when it is presented.
  PanelUtils.preset(panel);
  _addListeners(panel);
  ...
},

PanelUtils.activate — বর্ণিত  js/modules/panel_utils.jsএ-প্যানেলের মধ্যের সকল লিংকের সাথে সংযোগ স্থাপন করতে ব্যবহার করা হয়েছে এবং প্রতিনিধিত্বকারী প্রশিক্ষক  onInitধাপে সংযোগ করে,PanelUtils.preset ব্যবহার করা হয়েছে onBeforeShow ধাপে মূল্যবান সেটিংসের সাথে উপাদান গুলোকে পুনরায় স্থাপন করতে।

সকল নতুন সেটিংস প্যানেল গুলো বর্ণিত হয়েছে  js/panels অংশে।

এ এম ডি মডিউল এবং অনুকূল সময় গঠন

ফায়ারফক্স ওএস ২.0 সামনেরদিকে থেকে,সেটিংস অ্যাপ  AMD modules pattern ব্যবহার করে  প্রতিটি প্যানেলকে বাস্তবায়িত করতে।এ এম ডি পূর্ণকৃত হয়  Alemeda   এর মধ্য দিয়ে  (একটি সহজ  মাধ্যম RequireJS এর) এবং গঠিত/শুভসূচিত হয়  r.js (রিকুইয়ার যে এস  অপ্টিমাইজার)ব্যবহারের মাধ্যমে। সেটিংস অ্যাপ এর তখনো ও নথিপত্ত্রের উপর নির্ভরশীলতা ছিল (shared/js) যেগুলো এ এম ডি মডিউল নয়। ঐসবের জন্য এটা  shim  অপশন বর্ণিত settings/js/config/require.js এ ব্যবহার করে।

আরো দেখো

 Settings app has a build-in README  যা সেটিংসের অনেক  তথ্য পড়তে উপকারী(প্রধানত আরথার চেন এবং ফ্রেড লিনের দ্বারা লিখিত)।

ডকুমেন্ট ট্যাগ এবং অবদানকারী

 Contributors to this page: chrisdavidmills, Bristy
 সর্বশেষ হালনাগাদ করেছেন: chrisdavidmills,