شہری اینڈمپ؛ اسٹرکچرل انجینئری؛
ایک فائنڈ کیلنڈر ایپ تیار کرنا جاواسکرپٹ اور مقامی استورج کے ساتھ
Table of Contents
دستوری کیلنڈر کا اطلاق کرنا، جاوا سکرپٹ، براؤزر دستاویزی فانٹ ماڈل (DM) اور کلائنٹ-stata مستقل طور پر۔ ویب اسٹیریج ایپ کو مکمل طور پر فعال، تقریبی کیلنڈر بنا سکتا ہے جو آپ کو کسی بھی طرح سے واپس کیے بغیر کسی موڑ سرور یا ڈیٹابیس میں داخل کر کے، یہ آپ کو ہر قدم سے آگے بڑھنے کے لیے آگے بڑھنے والی خصوصیات کو بہتر طریقے سے منظم کر سکتا ہے۔
ایک کیلنڈر کیوں تعمیر کریں ؟
پریٹڈ کیلنڈر لائبریریز (جیسے مکمل کیلنڈر یا ڈی پیلٹ) فوری حل پیش کرتی ہے، لیکن ایک بنانے سے آپ صارفی سطح پر صارفی سطح، ڈیٹا ہاتھیوں اور کارکردگی پر مکمل کنٹرول حاصل کر لیتی ہیں۔آپ کو بنیادی جاوا ایسکری تصور کے ساتھ بھی حاصل ہوتا ہے جیسے چیز، واقعے کے ساتھ، اور [FT1] کے نتیجہ میں ایک ٹول سسٹم کو وسعت دے سکتی ہے۔
ایچمیل کی جگہ پر کھڑے ہونا
کیلنڈر کو شروع میں تین بنیادی اجزاء کی ضرورت ہوتی ہے : ایک کیمیائی بار ( بدلتے ہوئے مہینوں کے لئے)، ایک گرانٹ کے برتن (روز کے خلیوں کے لئے)، اور تقریبی داخلی شکل۔ آسانی کے لیے سیمنٹ کلاس کے نام استعمال کریں۔
<div id="calendar">
<div class="calendar-header">
<button id="prevBtn">←</button>
<h2 id="monthYear"></h2>
<button id="nextBtn">→</button>
</div>
<div class="calendar-grid"></div>
<div class="event-form">
<input type="text" id="eventInput" placeholder="Add an event..." />
<button id="saveEvent">Save</button>
</div>
</div>
جاوا سکیورٹی کے ذریعے پُر فضاء میں پھیلے گا. موبائل فون کے لیے ایک 7٫000 کیو ایم ایس گرانٹ (ایک ہفتے کے دن کے لیے)،
سی ایس ایس کے ساتھ کیلنڈر کو بڑھانا
صاف، جواب سی ایس ایس آئی کو صوتی طور پر متحرک کر کے ایک قابل قبول تناظر میں تبدیل کرتا ہے. سی ایس جی جیرائڈ استعمال کر تا ہے .
.calendar-grid {
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: 2px;
}
.day-cell {
min-height: 80px;
border: 1px solid #ccc;
padding: 4px;
position: relative;
}
.day-cell.today {
background-color: #eef;
}
.event {
font-size: 0.8em;
background: #4caf50;
color: #fff;
padding: 2px 4px;
margin: 1px 0;
border-radius: 3px;
cursor: pointer;
}
میڈیا پلے کریں تاکہ موبائل سائز کو تنگ پردے پر کم کیا جا سکے اور تقریب کی عبارت کو چھپے ہوئے پر غور کریں اور صرف گنتی کا مظاہرہ کریں۔
کرو جاوا کرافٹ: کیلنڈر گرڈ کو ملا کر
استعمال کرنے والا ہفتہ کے دن (0 = اتوار) میں سب فعال کردار. مرکزی تقریب، ، مہینے کا پہلا دن اور کل دن کا حساب۔ کا استعمال کریں تاکہ ہفتے کے دن کے دن (0 = اتوار) تک کے آخری ایام میں سیل پیدا کریں۔
ڈیٹنگ باسکٹبال کیساتھ کام کرنا
چیز کیلنڈر منطق کا پس منظر ہے. ایک ماہ کا آخری دن حاصل کرنے کے لیے، استعمال کرنے کے لیے، (روز کے 0 کے روز موجودہ مہینے کو آخری دن دیتا ہے). عالمی تبدیلی میں موجود مہینے اور سال کو محفوظ کر کے اس طرح کی تجدید کر سکتا ہے۔
گرڈ بنانا
function renderCalendar() {
const grid = document.querySelector('.calendar-grid');
grid.innerHTML = '';
const firstDay = new Date(currentYear, currentMonth, 1).getDay();
const daysInMonth = new Date(currentYear, currentMonth + 1, 0).getDate();
// Add empty cells for days before the 1st
for (let i = 0; i < firstDay; i++) {
const empty = document.createElement('div');
empty.className = 'day-cell empty';
grid.appendChild(empty);
}
// Generate day cells
for (let day = 1; day <= daysInMonth; day++) {
const cell = document.createElement('div');
cell.className = 'day-cell';
cell.dataset.date = `${currentYear}-${currentMonth + 1}-${day}`;
const dateSpan = document.createElement('span');
dateSpan.textContent = day;
cell.appendChild(dateSpan);
// Highlight today
const today = new Date();
if (currentYear === today.getFullYear() && currentMonth === today.getMonth() && day === today.getDate()) {
cell.classList.add('today');
}
// Load events for this date
loadEvents(cell);
grid.appendChild(cell);
}
}
مہینے کے درمیان غیرقانونیت
Atak Conting at the the the year and firf بٹن. Increment , , [g.] اگر اگلے سال جنوری کے بعد ( یعنی دسمبر کے بعد دسمبر کے مہینے میں)). متغیرات کو دوبارہ شروع کرنے کے بعد، فون کریں.
document.getElementById('prevBtn').addEventListener('click', () => {
currentMonth--;
if (currentMonth < 0) {
currentMonth = 11;
currentYear--;
}
renderCalendar();
});
document.getElementById('nextBtn').addEventListener('click', () => {
currentMonth++;
if (currentMonth > 11) {
currentMonth = 0;
currentYear++;
}
renderCalendar();
});
اضافیت کے لیے ایک شامل کر لو آج بٹن جو نظریۂ نظر کو موجودہ مہینے میں دوبارہ مرتب کرتا ہے اور موجودہ دن کو نمایاں کرتا ہے۔
سٹیرنگ &؛ مقامی طور پر اسٹیج کے ساتھ ساتھ ریٹیننگ واقع ہیں۔
Gudy Storage ایک سادہ کلیدی ذخیرہ فراہم کرتا ہے جو کہ ری ایکٹر کو دوبارہ شروع کرنے والا ہے.
ایک نئی تقریب کو بچانا
جب صارف "Save" بٹن کلک کرتا ہے، تو اندراج کی قدر اور موجودہ منتخب تاریخ کو پکڑ لیتا ہے. (آپ ایک تاریخ کا انتخاب کر سکتے ہیں یا پتہ لگا سکتے ہیں کہ دن کی سیل کس پر کلک کیا جاتا ہے.).
function saveEvent(dateKey, eventText) {
const existing = JSON.parse(localStorage.getItem(dateKey)) || [];
existing.push({ id: Date.now(), text: eventText, time: new Date().toLocaleTimeString() });
localStorage.setItem(dateKey, JSON.stringify(existing));
renderCalendar(); // refresh to show new event
}
زمانے کے واقعات
، ہر غیر مجاز دن کی سیل کے لیے ایک ایسا عمل کہ جو اس تاریخ کے لیے مقامی اسٹیج کو استعمال کرتا ہے. اگر واقعات موجود ہوں تو ان کے ذریعے اور ان کے ذریعے سے اخذ کر کے عناصر کو خلیہ تک لے جائیں گے۔
function loadEvents(cell) {
const dateKey = cell.dataset.date;
const events = JSON.parse(localStorage.getItem(dateKey));
if (!events) return;
events.forEach(evt => {
const eventDiv = document.createElement('div');
eventDiv.className = 'event';
eventDiv.textContent = evt.text;
eventDiv.dataset.id = evt.id;
// Optional: add a delete button
cell.appendChild(eventDiv);
});
}
واقعات کو تسلیم اور تدوین کرنا
ہر واقعے کے عناصر کو ختم کرنے، (یا تقریب کے انعقاد کے لیے) ایک کلک کا واقعہ کو قطع کرنا۔ اس تاریخ کے لیے ترتیبوں کو دوبارہ بند کرنے، اس کی تاریخ کے لیے درکار معلومات کو فعال کرنے اور تجدید شدہ شکلوں کو مقامی اسورٹیج پر واپس محفوظ کرنے سے اسے دوبارہ ترتیب دینے سے ترتیب دینا، نئے متن کے لیے دوبارہ شروع کر سکتا ہے۔
انتہائی اہم معلومات
جب بنیادی کیلنڈر کام کر رہا ہو تو آپ ایسی خصوصیات شامل کر سکتے ہیں جو صارفین کے تجربے کو بہت بہتر بنا سکتی ہیں۔
رنگبرنگی دُنیا میں لوگ مختلف قسم کے واقعات سے متاثر ہوتے ہیں
صارفین کو تفویض کرنے کی اجازت دے (جیسے، کام، ذاتی، صحت۔ مقامی اسٹریج میں میدان محفوظ کرو. CS میں کلاسوں کو ، ، ، ، ، اور ان کا اطلاق کرنا نہایت فعال انداز سے کرتے ہیں۔
Dra ⁇ and ⁇ Drop Rescheduling
کو شش کريں اور اسے دن کے خلیوں کے درمیان ہونے والے واقعات کو منتقل کر نے کے ليےTML5GA استعمال کريں جب ایک مختلف دن میں ایک تقریب چلائی جائے تو مقامی اسٹیورٹیج میں تاریخ کی کلید تازہ کی جاتی ہے:
دوبارہ سے واقعات ( ڈبلیو ڈبلیو / ماہنامہ )
"Repet" انتخاب شامل کریں جب کسی تقریب کو محفوظ کریں. لوڈنگ تقریب میں، اگر حالیہ تاریخ دوبارہ جاری ہوئی ہوئی حکمرانی (مثلاً ہر منگل) اور اس واقعے کو اسی مناسبت سے ظاہر کریں.
ہفتہوار دن
ایک ہفتے میں ایک مرتبہ دیکھا گیا کہ ایک ہفتے میں ایک دن میں ایک گھنٹے میں ایک گھنٹے میں ایک گھنٹے میں ایک گھنٹے میں ایک گھنٹے میں اُڑنے والے کیلنڈر میں سے صرف موجودہ ہفتے کے دن ہی نظر آتے ہیں ۔
کیلنڈر کا تجزیہ اور رسائی
مختلف اسکرین سائزوں پر کیلنڈر کا امتحان استعمال کریں [1] نہایت چھوٹے پردے پر کسوٹیکل سیلز یا اس سے کم کرنے کے ليے تمام مواصلاتی عناصر کي بورڈي اُس وقت تک قابلِ قبول ہیں : کے واقعات [FLT] پر بٹن اور پھر سے نشر ہونے والے واقعات کے لیے زندہ کن شعبوں کا استعمال کریں ]
پیش کش اور ڈیٹا سروسز
- Baborje Storage لکھنے والوں: [1] کی بجائے مقامی اسٹریج کی جگہ اور ہر واقعے کے عمل کے لیے لکھنؤ میں پورے مہینے کے واقعات کو جاوا ایک جاوا اسکرپٹمنٹ اور غیر معمولی تبدیلیوں کا نشانہ بنایا جاتا ہے۔
- [Limit تقریب حجم : تقریب چھوٹی چیزوں کو محفوظ رکھنا. بڑے بڑے بڑے بڑے بڑے بڑے ذخیرہ یا binary ڈیٹا کو محفوظ کرنے سے گریز کرنا۔
- Fallback for Storage Conseration: Local Storage on 5–10MB. جب ذخیرہ شدہ ہوتا ہے تو صارفین کو خبردار کرنے کی اطلاع دیتا ہے۔
- Great Datasets کے لیے Grant IndexedB for Great Datass [[1]: اگر آپ کا کیلنڈر ہزاروں واقعات پر مشتمل ہوگا تو [1]، ملاحظہ کریں بہتر کارکردگی اور غیر فعال صلاحیتوں کے لیے.
کُنَّا
جاوا سككپ اور لوکل استروج کے ساتھ دستوري کیلنڈر ایپ بنا نے کے ليے ایک با عملي کامي منصوبہ ہے جو آپ کے پیشے ميں ⁇ nd کی مہارت کو تیز کرتا هے آپ DDM کے ساتھ مل کر وقت نکالتے هيں ، تجھ کو تاریخوں کے ساتھ منظم کرنا ،
مزید پڑھنے کے لیے اسکوریج ایپی دستاویزات اور Drag and ExI پر MDN. Happy code!