SurahCtrl class

كنترولر مخصص لعرض سورة واحدة بنفس تصميم QuranCtrl Dedicated controller for displaying a single surah with the same design as QuranCtrl

Inheritance
  • Object
  • GetLifeCycle
  • DisposableInterface
  • GetxController
  • SurahCtrl
Implemented types

Constructors

SurahCtrl.new({QuranRepository? quranRepository})

Properties

currentSurah ↔ Rx<SurahModel?>
معلومات السورة Surah information
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
hasListeners bool
no setterinherited
initialized bool
Checks whether the controller has already been initialized.
no setterinherited
isClosed bool
Checks whether the controller has already been closed.
no setterinherited
isLoading → RxBool
حالة التحميل Loading state
final
listeners int
no setterinherited
onDelete → InternalFinalCallback<void>
Internal callback that starts the cycle of this controller.
finalinherited
onStart → InternalFinalCallback<void>
Called at the exact moment the widget is allocated in memory. It uses an internal "callable" type, to avoid any @overrides in subclases. This method should be internal and is required to define the lifetime cycle of the subclass.
finalinherited
pageController PageController
الحصول على PageController Get PageController
no setter
pagesCount int
الحصول على عدد صفحات السورة Get surah pages count
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
surahAyahs List<AyahModel>
آيات السورة Surah ayahs
getter/setter pair
surahNumber int?
no setter
surahPages ↔ RxList<QuranPageModel>
صفحات السورة المقسمة Divided surah pages
getter/setter pair

Methods

$configureLifeCycle() → void
inherited
addListener(GetStateUpdate listener) → Disposer
Register a closure to be called when the object notifies its listeners.
inherited
addListenerId(Object? key, GetStateUpdate listener) → Disposer
inherited
calculateDynamicLineHeight({required double availableHeight, required int pageIndex, required bool hasHeader, required bool hasBasmala}) double
حساب ارتفاع السطر الديناميكي للصفحة Calculate dynamic line height for page
dispose() → void
inherited
disposeId(Object id) → void
To dispose an id from future updates(), this ids are registered by GetBuilder() or similar, so is a way to unlink the state change with the Widget from the Controller.
inherited
getCurrentPageInfo() Map<String, dynamic>
الحصول على معلومات الصفحة الحالية Get current page information
getCurrentRealQuranPageNumber() int
الحصول على رقم الصفحة الحقيقي الحالي (الصفحة المعروضة حالياً) Get the current real page number (currently displayed page)
getExpectedLinesCount(int pageIndex) int
حساب عدد الأسطر المتوقع للصفحة الحالية بناءً على موقعها Calculate expected lines count for current page based on its position
getRealQuranPageNumber(int surahPageIndex) int
الحصول على رقم الصفحة الحقيقي في القرآن الكريم Get the real page number in the Quran
getSurahName() String
الحصول على اسم السورة Get surah name
getSurahRealPageRange() Map<String, int>
الحصول على نطاق الصفحات الحقيقية للسورة Get the real page range for the surah
isFirstPage(int pageIndex) bool
التحقق من أن الصفحة هي الأولى في السورة Check if page is first in surah
isFirstPageInFirstOrSecondSurah(int pageIndex, int surahNumber) bool
التحقق من أن الصفحة هي الأولى في السورة Check if page is first in surah
isLastPage(int pageIndex) bool
التحقق من أن الصفحة هي الأخيرة في السورة Check if page is the last in surah
jumpToPage(int page) → void
الانتقال لصفحة معينة Navigate to specific page
loadSurah(int surahNumber) Future<void>
تحميل سورة محددة Load specific surah
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyChildrens() → void
inherited
onClose() → void
Called before onDelete method. onClose might be used to dispose resources used by the controller. Like closing events, or streams before the controller is destroyed. Or dispose objects that can potentially create some memory leaks, like TextEditingControllers, AnimationControllers. Might be useful as well to persist some data on disk.
override
onInit() → void
Called immediately after the widget is allocated in memory. You might use this to initialize something for the controller.
inherited
onReady() → void
Called 1 frame after onInit(). It is the perfect place to enter navigation events, like snackbar, dialogs, or a new route, or async request.
inherited
refresh() → void
inherited
refreshGroup(Object id) → void
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that the object notifies.
inherited
removeListenerId(Object id, VoidCallback listener) → void
inherited
resetData() → void
إعادة تعيين البيانات Reset data
shouldShowBasmala() bool
التحقق من أن السورة ليست التوبة (لعرض البسملة) Check if surah is not At-Tawbah (for displaying Basmala)
toString() String
A string representation of this object.
inherited
update([List<Object>? ids, bool condition = true]) → void
Rebuilds GetBuilder each time you call update(); Can take a List of ids, that will only update the matching GetBuilder( id: ), ids can be reused among GetBuilders like group tags. The update will only notify the Widgets, if condition is true.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Properties

instance SurahCtrl
شرح: إنشاء instance singleton للكنترولر Explanation: Create singleton instance for the controller
no setter