{"version":3,"file":"fikoyt-shared-dashboard.component-BNN_tCMj.mjs","sources":["../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/dashboard/hazir-widgetler.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/dashboard/dashboard.service.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/pdks/pdks-aktif-kart.component.html","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/pano/pages/personel/pages/pdks/pdks-aktif-kart.component.ts","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/dashboard/dashboard.component.html","../../../projects/shared/src/lib/app/uygulamalar/hmi-pano/dashboard/dashboard.component.ts"],"sourcesContent":["import type { ISablon } from '@/src/service/fikoyt-ui/src/lib/paylasim-sistemi/sablon-editoru/sablon.interface';\n\nexport const VARSAYILAN_WIDGETLER: ISablon[] = [\n {\n id: 'sys-saat',\n tur: 'widget',\n baslik: 'Saat',\n simge: '🕐',\n pozisyon: { genislik: 1, yukseklik: 1 },\n mod: 'serbest',\n arkaPlan: { tur: 'gradient', deger: 'linear-gradient(135deg, #0d1b2a, #1b2838, #415a77)' },\n bolgeler: [],\n elementler: [],\n htmlModu: true,\n htmlIcerik: `
\n
{{saat}}
\n
{{tarih}}
\n
`,\n cssIcerik: `.saat-kutu { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; padding:8px; }\n.saat-buyuk { font-size:28px; font-weight:700; font-family:'SF Mono',Consolas,monospace; color:#e0e7ff; letter-spacing:2px; }\n.saat-tarih { font-size:11px; color:rgba(255,255,255,0.35); margin-top:4px; }`,\n veriKaynagi: {\n mod: 'hesaplama',\n piFunc: `\n var now = new Date();\n return {\n saat: now.toLocaleTimeString('tr-TR', {hour:'2-digit',minute:'2-digit',second:'2-digit'}),\n tarih: now.toLocaleDateString('tr-TR', {day:'2-digit',month:'2-digit',year:'numeric'})\n };\n `,\n yenilemeAraligi: 1,\n },\n kaynak: 'kod',\n sira: 0,\n },\n {\n id: 'sys-duyuru',\n tur: 'widget',\n baslik: 'Duyuru',\n simge: '📢',\n pozisyon: { genislik: 2, yukseklik: 1 },\n mod: 'serbest',\n arkaPlan: { tur: 'renk', deger: 'transparent' },\n bolgeler: [],\n elementler: [],\n stil: { gradyan: 'linear-gradient(135deg, #1a1a2e, #2d1b4e)', renkYazi: '#cbd5e1' },\n veriKaynagi: {\n mod: 'sabit',\n sabitVeri: { mesaj: 'FikoYT HMI Pano sistemine hoş geldiniz.' },\n },\n kaynak: 'kod',\n sira: 1,\n },\n {\n id: 'sys-uretim-sayac',\n tur: 'widget',\n baslik: 'Bugün Üretim',\n simge: '📊',\n pozisyon: { genislik: 1, yukseklik: 1 },\n mod: 'serbest',\n arkaPlan: { tur: 'renk', deger: 'transparent' },\n bolgeler: [],\n elementler: [],\n stil: { gradyan: 'linear-gradient(135deg, #064e3b, #10b981)', renkYazi: '#fff' },\n veriKaynagi: {\n mod: 'aggregate',\n pipeline: [\n { $match: { vt: 'FikoYT.sistem.hmi.uretim', silindi: { $ne: true }, $expr: { $gte: ['$olusturma', { $dateFromParts: { year: { $year: '$$NOW' }, month: { $month: '$$NOW' }, day: { $dayOfMonth: '$$NOW' } } }] } } },\n { $count: 'toplam' },\n ],\n yenilemeAraligi: 60,\n donusumFunc: `return { sayi: (veri && veri[0]) ? veri[0].toplam : 0 };`,\n },\n kaynak: 'kod',\n sira: 2,\n },\n {\n id: 'sys-bakim',\n tur: 'widget',\n baslik: 'Bekleyen Bakım',\n simge: '🛠️',\n pozisyon: { genislik: 1, yukseklik: 1 },\n mod: 'serbest',\n arkaPlan: { tur: 'renk', deger: 'transparent' },\n bolgeler: [],\n elementler: [],\n stil: { gradyan: 'linear-gradient(135deg, #7f1d1d, #dc2626)', renkYazi: '#fff' },\n veriKaynagi: {\n mod: 'aggregate',\n pipeline: [\n { $match: { _secilenSetId: 'hmi.bakim-talebi.ekle', silindi: { $ne: true }, 'veri.durum': { $in: ['bekliyor', 'planlandı'] } } },\n { $count: 'toplam' },\n ],\n yenilemeAraligi: 60,\n donusumFunc: `return { sayi: (veri && veri[0]) ? veri[0].toplam : 0 };`,\n },\n kaynak: 'kod',\n sira: 3,\n },\n];\n","import { Injectable, signal, computed } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport type { ISablon, ISablonVeriKaynagi } from '@/src/service/fikoyt-ui/src/lib/paylasim-sistemi/sablon-editoru/sablon.interface';\nimport { VARSAYILAN_WIDGETLER } from './hazir-widgetler';\n\nconst kodWidgetler: ISablon[] = VARSAYILAN_WIDGETLER;\n\n@Injectable({ providedIn: 'root' })\nexport class DashboardService {\n\n dbWidgetler = signal([]);\n tumWidgetler = computed(() => this.birlestir());\n private destroy$ = new Subject();\n private soketAbonelikler = new Map();\n\n async yukle(cihazId: string): Promise {\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\n istek.parametreler = {\n aggregate: [\n { $match: { vt: 'FikoYT.sistem.dashboard', sahip: cihazId, silindi: { $ne: true } } },\n { $limit: 1 },\n ],\n };\n await istek.isteSync();\n const sonuc = istek.cevap?.sonuc?.[0];\n this.dbWidgetler.set(sonuc?.veri?.widgetler || []);\n } catch {\n this.dbWidgetler.set([]);\n }\n }\n\n async kaydet(cihazId: string, widgetler: ISablon[]): Promise {\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.guncelle' });\n istek.parametreler = {\n filtre: { vt: 'FikoYT.sistem.dashboard', sahip: cihazId },\n guncelleme: { $set: { vt: 'FikoYT.sistem.dashboard', sahip: cihazId, 'veri.widgetler': widgetler } },\n pipiSecenek: { upsert: true },\n };\n await istek.isteSync();\n } catch (e) {\n console.warn('Dashboard kaydet hatası:', e);\n }\n }\n\n private birlestir(): ISablon[] {\n const db = this.dbWidgetler();\n const dbIds = new Set(db.map(w => w.id));\n return [\n ...kodWidgetler.filter(kw => !dbIds.has(kw.id)).map(kw => ({ ...kw })),\n ...db,\n ]\n .filter(w => w.gorunur !== false && w.silindi !== true)\n .sort((a, b) => (a.sira ?? 0) - (b.sira ?? 0));\n }\n\n async sablonVerisiCek(sablon: ISablon): Promise {\n const vk = sablon.veriKaynagi;\n if (!vk) return null;\n try {\n switch (vk.mod) {\n case 'aggregate': {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\n let pipeline = vk.pipeline;\n if (!pipeline && vk.vt) {\n pipeline = [{ $match: { vt: vk.vt } }];\n }\n if (!pipeline) return null;\n istek.parametreler = { aggregate: pipeline };\n await istek.isteSync();\n const sonuc = istek.cevap?.sonuc;\n if (vk.donusumFunc) {\n try { return new Function('veri', 'sablon', vk.donusumFunc)(sonuc, sablon); } catch (e) { console.warn('donusumFunc hatası:', e); }\n }\n return sonuc;\n }\n case 'sabit':\n return vk.sabitVeri ?? null;\n case 'soket':\n return null;\n case 'hesaplama': {\n if (!vk.piFunc) return null;\n try { return new Function('veri', 'sablon', vk.piFunc)(null, sablon); } catch (e) { console.warn('piFunc hatası:', e); }\n return null;\n }\n default:\n return null;\n }\n } catch {\n return null;\n }\n }\n\n sablonGuncelle(id: string, degisiklikler: Partial): void {\n this.dbWidgetler.update(liste => {\n const mevcut = liste.find(w => w.id === id);\n if (!mevcut) {\n const kodW = kodWidgetler.find(kw => kw.id === id);\n if (kodW) return [...liste, { ...kodW, ...degisiklikler, kaynak: 'db' as const }];\n return liste;\n }\n return liste.map(w => w.id === id ? { ...w, ...degisiklikler } : w);\n });\n }\n\n sablonEkle(sablon: ISablon): void {\n this.dbWidgetler.update(liste => [...liste, sablon]);\n }\n\n sablonSil(id: string): void {\n const kodWidget = kodWidgetler.find(kw => kw.id === id);\n this.dbWidgetler.update(liste => {\n const filtrelenmis = liste.filter(w => w.id !== id);\n if (kodWidget) {\n return [...filtrelenmis, { ...kodWidget, silindi: true, kaynak: 'db' as const }];\n }\n return filtrelenmis;\n });\n }\n\n layoutSifirla(): void {\n this.dbWidgetler.set([]);\n }\n\n soketDinle(sablon: ISablon, callback: (veri: any) => void): void {\n const vk = sablon.veriKaynagi;\n if (!vk?.soketOlay) return;\n\n const eventAdi = vk.soketOlay;\n const filtre = vk.soketFiltre;\n\n const handler = (payload: any) => {\n if (filtre) {\n const eslesiyor = Object.entries(filtre).every(([k, v]) => payload?.[k] === v);\n if (!eslesiyor) return;\n }\n callback(payload);\n };\n\n try {\n const mevcut = this.soketAbonelikler.get(sablon.id);\n if (mevcut) { mevcut.unsubscribe(); this.soketAbonelikler.delete(sablon.id); }\n\n const io = (window as any).FikoYT?.io;\n if (io?.on) {\n io.on(eventAdi, handler);\n this.soketAbonelikler.set(sablon.id, {\n unsubscribe: () => io.off(eventAdi, handler),\n });\n }\n } catch (e) {\n console.warn('Soket dinleme hatası:', sablon.id, e);\n }\n }\n\n soketAbonelikKaldir(widgetId: string): void {\n this.soketAbonelikler.get(widgetId)?.unsubscribe?.();\n this.soketAbonelikler.delete(widgetId);\n }\n\n personelDegisti(): void {\n this.soketAbonelikler.forEach(s => s?.unsubscribe?.());\n this.soketAbonelikler.clear();\n }\n\n temizle(): void {\n this.soketAbonelikler.forEach(s => s?.unsubscribe?.());\n this.soketAbonelikler.clear();\n this.dbWidgetler.set([]);\n this.destroy$.next();\n }\n}\n","
\n
\n
\n
\n PDKS\n Personel devam kontrolü\n
\n Detaylar ›\n
{{ durumYazi }}
\n
\n\n
\n
\n ↗\n
Giriş saati{{ girisSaati }}
\n
\n
\n Ⅱ\n
Toplam mola{{ toplamMolaStr }}
\n
\n
\n ↘\n
Çıkış saati{{ cikisSaati }}
\n
\n
\n\n
\n
Bugünkü net süre{{ pdks.canliSure() }}
\n
\n @switch (pdks.aktifDurum()) {\n @case ('bosta') {\n \n }\n @case ('calisiyor') {\n \n \n }\n @case ('molada') {\n \n }\n }\n
\n
\n\n @if (offline.bekleyenSayisi() > 0) {\n
{{ offline.bekleyenSayisi() }} çevrimdışı kayıt senkronizasyon bekliyor
\n }\n
\n","import {\r\n Component, ChangeDetectionStrategy, Input, Output, EventEmitter,\r\n inject, OnInit, OnDestroy,\n} from '@angular/core';\nimport { FikoYTKokBilesenComponent } from '@service/kok-bilesen/kok-bilesen.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PdksDurumService } from '@uygulamalar/hmi-pano/services/pdks-durum.service';\r\nimport { PdksOfflineService } from '@uygulamalar/hmi-pano/services/pdks-offline.service';\r\nimport { FirmaService } from '@uygulamalar/firma-yonetim/services/firma.service';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { RouterModule } from '@angular/router';\nimport type { GirisCikisTur } from '@uygulamalar/firma-yonetim/interfaces/pdks.interface';\n\r\n@Component({\r\n selector: 'pdks-aktif-kart',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [CommonModule, NzButtonModule, RouterModule],\n templateUrl: './pdks-aktif-kart.component.html',\r\n styleUrl: './pdks-aktif-kart.component.less',\r\n})\r\nexport class PdksAktifKartComponent extends FikoYTKokBilesenComponent implements OnInit, OnDestroy {\n constructor() { super(); }\r\n pdks = inject(PdksDurumService);\r\n offline = inject(PdksOfflineService);\r\n private firmaService = inject(FirmaService);\r\n\r\n @Input() geceVardiyasi = false;\r\n @Output() durumDegisti = new EventEmitter();\r\n\r\n islemYapiliyor = false;\n private readonly onlineDinleyici = () => this.bekleyenleriSenkronizeEt();\n\n ngOnInit() {\n window.addEventListener('online', this.onlineDinleyici);\n if (navigator.onLine) this.bekleyenleriSenkronizeEt();\n }\n\n override ngOnDestroy() {\n window.removeEventListener('online', this.onlineDinleyici);\n super.ngOnDestroy();\n }\n\r\n // Ring hesaplamaları\r\n private readonly CEVRE = 2 * Math.PI * 52; // ~326.7\r\n\r\n get tamamlanmaYuzde(): number {\r\n const gunluk = this.pdks.pdksAyarlar().gunlukCalismaSaati * 60;\r\n if (gunluk <= 0) return 0;\r\n return Math.min(100, Math.round((this.pdks.netCalismaDk() / gunluk) * 100));\r\n }\r\n\r\n get ringRenk(): string {\r\n const y = this.tamamlanmaYuzde;\r\n if (y >= 100) return '#fa8c16';\r\n if (this.pdks.aktifDurum() === 'molada') return '#fa8c16';\r\n return '#009688';\r\n }\r\n\r\n get ringDash(): string { return `${this.CEVRE}`; }\r\n get ringOffset(): string {\r\n return `${this.CEVRE * (1 - this.tamamlanmaYuzde / 100)}`;\r\n }\r\n\r\n get durumYazi(): string {\r\n switch (this.pdks.aktifDurum()) {\r\n case 'calisiyor': return 'Çalışıyor';\r\n case 'molada': return 'Molada';\r\n default: return 'Boşta';\r\n }\r\n }\r\n\r\n get normalStr(): string { return this.dk2Str(this.pdks.normalMesaiDk()); }\r\n get fazlaStr(): string { return this.dk2Str(this.pdks.fazlaMesaiDk()); }\r\n get toplamStr(): string { return this.dk2Str(this.pdks.toplamCalismaDk()); }\n get girisSaati(): string {\n const giris = this.pdks.gunlukKayitlar().find(k => !!k.giris)?.giris;\n return this.saatYaz(giris);\n }\n get cikisSaati(): string {\n const kayitlar = this.pdks.gunlukKayitlar();\n const cikis = [...kayitlar].reverse().find(k => !!k.cikis)?.cikis;\n return this.saatYaz(cikis);\n }\n get toplamMolaStr(): string { return this.dk2Str(this.pdks.toplamMolaDk()); }\n\n private saatYaz(zaman?: string): string {\n if (!zaman) return '--:--';\n return new Date(zaman).toLocaleTimeString('tr-TR', { hour: '2-digit', minute: '2-digit' });\n }\n\n private async yenile() { await this.pdks.gunlukVeriYukle(new Date()); }\n\n private async offlineKaydet(tur: GirisCikisTur) {\n const personel = this.pdks.aktifPersonel();\n if (!personel) throw new Error('Aktif personel bulunamadı');\n const zaman = new Date().toISOString();\n await this.offline.kayitEkle(this.pdks.firmaId(), personel._id, personel.kartUid || '', this.pdks.cihazId(), tur);\n this.pdks.yerelHareketEkle(tur, zaman);\n }\n\n private async bekleyenleriSenkronizeEt() {\n if (!navigator.onLine || this.offline.bekleyenSayisi() < 1) return;\n const sonuc = await this.offline.senkronizeEt(this.firmaService);\n if (sonuc.basarili > 0) await this.yenile();\n }\n\r\n private dk2Str(dk: number): string {\r\n if (dk <= 0) return '0dk';\r\n const h = Math.floor(dk / 60); const m = dk % 60;\r\n return h > 0 ? `${h}s ${m}dk` : `${m}dk`;\r\n }\r\n\r\n async girisYap() {\r\n this.islemYapiliyor = true;\r\n try {\r\n if (!navigator.onLine) {\n await this.offlineKaydet('giris');\n this.nzMessage.warning('Giriş çevrimdışı kuyruğa alındı');\n } else {\n const ok = await this.pdks.girisYap(this.firmaService);\r\n if (!ok) { this.nzMessage.warning('Çift kart okutma engeli — biraz bekleyin'); return; }\r\n this.nzMessage.success('Giriş kaydedildi');\r\n }\r\n this.durumDegisti.emit();\n if (navigator.onLine) await this.yenile();\n } catch { this.nzMessage.error('Giriş kaydedilemedi'); }\r\n finally { this.islemYapiliyor = false; }\r\n }\r\n\r\n async cikisYap() {\r\n this.islemYapiliyor = true;\r\n try {\r\n if (!navigator.onLine) {\n await this.offlineKaydet('cikis');\n this.nzMessage.warning('Çıkış çevrimdışı kuyruğa alındı');\n } else {\n const ok = await this.pdks.cikisYap(this.firmaService);\n if (!ok) return;\n this.nzMessage.success('Çıkış kaydedildi');\n }\r\n this.durumDegisti.emit();\n if (navigator.onLine) await this.yenile();\n } catch { this.nzMessage.error('Çıkış kaydedilemedi'); }\r\n finally { this.islemYapiliyor = false; }\r\n }\r\n\r\n async molaBaslat() {\n this.islemYapiliyor = true;\r\n try {\r\n if (!navigator.onLine) {\n await this.offlineKaydet('mola_baslangic');\n this.nzMessage.warning('Mola çevrimdışı kuyruğa alındı');\n } else {\n const ok = await this.pdks.molaBaslat_(this.firmaService);\n if (!ok) return;\n this.nzMessage.info('Mola başladı');\n }\n this.durumDegisti.emit();\n if (navigator.onLine) await this.yenile();\n } catch { this.nzMessage.error('Mola başlatılamadı'); }\r\n finally { this.islemYapiliyor = false; }\r\n }\r\n\r\n async molaBitir() {\n this.islemYapiliyor = true;\r\n try {\r\n if (!navigator.onLine) {\n await this.offlineKaydet('mola_bitis');\n this.nzMessage.warning('Mola bitişi çevrimdışı kuyruğa alındı');\n } else {\n const ok = await this.pdks.molaBitir_(this.firmaService);\n if (!ok) return;\n this.nzMessage.success('Mola bitti');\n }\n this.durumDegisti.emit();\n if (navigator.onLine) await this.yenile();\n } catch { this.nzMessage.error('Mola bitirilemedi'); }\r\n finally { this.islemYapiliyor = false; }\r\n }\r\n}\r\n","
\n
\n @for (kart of kartlar; track kart.route) {\n @if (kartGorunurMu(kart)) {\n \n
\n {{ kart.ikon }}\n
\n
\n
{{ kart.baslik }}
\n
{{ kart.aciklama }}
\n
\n
\n }\n }\n
\n\n
\n \n
\n\n @if (false && tumWidgetler().length) {\n
\n
\n @if (duzenleModu()) {\n \n \n \n }\n \n
\n
\n @for (s of tumWidgetler(); track s.id) {\n
\n \n @if (duzenleModu()) {\n
\n \n \n
\n }\n
\n }\n
\n
\n }\n
\n","import { Component, ChangeDetectionStrategy, OnInit, OnDestroy, signal, inject, computed } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { DragDropModule, CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { FikoYTKokBilesenComponent } from '@service/kok-bilesen/kok-bilesen.component';\nimport { PanoDurumService } from '@uygulamalar/hmi-pano/services/pano-durum.service';\nimport { SablonRendererComponent } from '@/src/service/fikoyt-ui/src/lib/paylasim-sistemi/sablon-renderer/sablon-renderer.component';\nimport { DashboardService } from './dashboard.service';\nimport type { ISablon } from '@/src/service/fikoyt-ui/src/lib/paylasim-sistemi/sablon-editoru/sablon.interface';\nimport { PdksAktifKartComponent } from '../pano/pages/personel/pages/pdks/pdks-aktif-kart.component';\n\ninterface IUygulamaKart {\n baslik: string;\n aciklama: string;\n ikon: string;\n route: string;\n renk: string;\n gradient: string;\n yetkiler?: string[];\n}\n\n@Component({\n selector: 'hmi-dashboard',\n standalone: true,\n imports: [CommonModule, RouterModule, DragDropModule, NzButtonModule, NzSpinModule, NzModalModule, SablonRendererComponent, PdksAktifKartComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './dashboard.component.html',\n styleUrl: './dashboard.component.less',\n})\nexport class HmiDashboardComponent extends FikoYTKokBilesenComponent implements OnInit, OnDestroy {\n private dashboardSvc = inject(DashboardService);\n private durum = inject(PanoDurumService);\n\n duzenleModu = signal(false);\n tumWidgetler = computed(() => this.dashboardSvc.tumWidgetler());\n\n readonly kartlar: IUygulamaKart[] = [\n { baslik: 'Projeler', aciklama: 'Proje takibi ve yonetimi', ikon: '\\uD83D\\uDCC1', route: 'projeler', renk: '#fa8c16', gradient: 'linear-gradient(135deg, #7c2d12 0%, #fa8c16 100%)' },\n { baslik: '\\u00DCretim', aciklama: '\\u0130\\u015F emri, kalite kontrol, \\u00FCretim takibi', ikon: '\\u2699\\uFE0F', route: 'uretim', renk: '#f5222d', gradient: 'linear-gradient(135deg, #7f1d1d 0%, #f5222d 100%)' },\n { baslik: 'Sat\\u0131\\u015F', aciklama: 'Sipari\\u015F, teklif, m\\u00FC\\u015Fteri y\\u00F6netimi', ikon: '\\uD83D\\uDED2', route: 'satis', renk: '#ff9800', gradient: 'linear-gradient(135deg, #e65100 0%, #ff9800 100%)' },\n { baslik: 'Y\\u00F6netim', aciklama: 'Personel, departman, tedarik\\u00E7i', ikon: '\\uD83C\\uDFE2', route: 'yonetim-kayit', renk: '#722ed1', gradient: 'linear-gradient(135deg, #4a148c 0%, #722ed1 100%)' },\n { baslik: 'Posta', aciklama: 'Firma mail kutusunu g\\u00F6r\\u00FCnt\\u00FCle', ikon: '\\uD83D\\uDCE7', route: 'posta', renk: '#1890ff', gradient: 'linear-gradient(135deg, #0c4a6e 0%, #1890ff 100%)' },\n ];\n\n constructor() { super(); }\n\n ngOnInit() {\n const cihazKimlik = localStorage.getItem('fikoyt_cihaz_kimlik');\n if (cihazKimlik) {\n this.dashboardSvc.yukle(cihazKimlik);\n }\n }\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n this.dashboardSvc.temizle();\n }\n\n kartGorunurMu(kart: IUygulamaKart): boolean {\n if (!kart.yetkiler?.length) return true;\n const kullaniciYetkileri = this.durum.kisiYetkileri();\n return kart.yetkiler.some(y => kullaniciYetkileri.includes(y));\n }\n\n onDrop(event: CdkDragDrop) {\n const widgetler = [...this.tumWidgetler()];\n moveItemInArray(widgetler, event.previousIndex, event.currentIndex);\n this.dashboardSvc.dbWidgetler.set(widgetler.map((w, i) => ({ ...w, sira: i, kaynak: 'db' as const })));\n }\n\n async kaydet() {\n const cihazKimlik = localStorage.getItem('fikoyt_cihaz_kimlik');\n if (cihazKimlik) {\n await this.dashboardSvc.kaydet(cihazKimlik, this.tumWidgetler());\n this.nzMessage.success('Dashboard kaydedildi');\n this.duzenleModu.set(false);\n }\n }\n\n sablonSil(id: string) {\n this.nzModalServis.confirm({\n nzTitle: 'Widget silinsin mi?',\n nzOnOk: () => this.dashboardSvc.sablonSil(id),\n });\n }\n\n yeniSablonEkle() {\n const yeniSablon: ISablon = {\n id: 'custom-' + Date.now(),\n tur: 'widget',\n baslik: 'Yeni Widget',\n simge: '\\uD83D\\uDCE6',\n mod: 'serbest',\n arkaPlan: { tur: 'renk', deger: 'transparent' },\n bolgeler: [],\n elementler: [],\n pozisyon: { genislik: 1, yukseklik: 1 },\n stil: { gradyan: 'linear-gradient(135deg, #0f172a, #1e293b)', renkYazi: '#fff' },\n veriKaynagi: { mod: 'sabit', sabitVeri: { mesaj: 'Yeni widget' } },\n kaynak: 'db',\n gorunur: true,\n sira: this.tumWidgetler().length,\n };\n this.dashboardSvc.sablonEkle(yeniSablon);\n this.nzMessage.success('Widget eklendi');\n }\n\n sablonDuzenle(sablon: ISablon) {\n this.router.navigate(['widget-editor', sablon.id], { relativeTo: this.route.parent });\n }\n\n layoutSifirla() {\n this.nzModalServis.confirm({\n nzTitle: 'Layout sifirlansin mi?',\n nzContent: 'Tum ozellestirmeler silinecek.',\n nzOnOk: () => { this.dashboardSvc.layoutSifirla(); this.nzMessage.info('Layout sifirlandi'); },\n });\n }\n}\n"],"names":["i3","i4","i5"],"mappings":"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"}