{"version":3,"file":"fikoyt-shared-paylas-kutusu.component-DlIoUDul.mjs","sources":["../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-text-editor/text-editable.directive.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-text-editor/paylas-text-editor.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-text-editor/paylas-text-editor.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-icerik-editor/yapay-zeka/yazidan-resme/yazidan-resme.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-icerik-editor/yapay-zeka/yazidan-resme/yazidan-resme.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-icerik-editor/yapay-zeka/yapay-zeka.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-icerik-editor/yapay-zeka/yapay-zeka.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-icerik-editor/IUyarDokum/IVeriSetleri.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-icerik-editor/IUyarDokum/uyar-kutusu.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-icerik-editor/IUyarDokum/uyar-kutusu.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/parametre-seti-secici/parametre-seti-secici.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/parametre-seti-secici/parametre-seti-secici.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/sablon-editoru/sablon.interface.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/fiko-tasarim-editoru/te-palet.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/sablon-renderer/sablon-renderer.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/fiko-tasarim-editoru/te-canvas.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/fiko-tasarim-editoru/te-kod-paneli.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/fiko-tasarim-editoru/te-stil-paneli.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/fiko-tasarim-editoru/te-veri-paneli.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/fiko-tasarim-editoru/te-parametre-tablosu.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/fiko-tasarim-editoru/fiko-tasarim-editoru.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/fiko-tasarim-editoru/fiko-tasarim-editoru.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-icerik-editor/paylas-icerik-editor.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-icerik-editor/paylas-icerik-editor.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/dialog-kisi-secici/dialog-kisi-secici.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/dialog-kisi-secici/dialog-kisi-secici.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/dialog-gizlilik-secici/dialog-gizlilik-secici.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/dialog-gizlilik-secici/dialog-gizlilik-secici.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/dialog-etiketler/dialog-etiketler.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/dialog-etiketler/dialog-etiketler.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/bayrak-editor/.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/bayrak-editor/.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-kart-menu/.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/paylas-kart-menu/.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/dialog-sablon-secici/dialog-sablon-secici.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/dinamik-bilesen/kart-bildirim.service.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/dinamik-bilesen/alt-kart-ozet.service.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/ikart-kutusu.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IKart/ikart-kutusu.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IUyarDokum/firma-ekle/.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IUyarDokum/firma-ekle/.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IUyarDokum/teklif-olustur/.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IUyarDokum/teklif-olustur/.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IUyarDokum/personel-ekle/.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IUyarDokum/personel-ekle/.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IUyarDokum/uyar-kutusu.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/IUyarDokum/uyar-kutusu.component.ts","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/paylas-kutusu.component.html","../../../projects/shared/src/lib/service/fikoyt-ui/src/lib/paylasim-sistemi/paylas-kutusu/paylas-kutusu.component.ts"],"sourcesContent":["import { Component, ElementRef, HostListener, forwardRef, AfterViewInit } from '@angular/core';\n\nimport { ControlValueAccessor, NgModel, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: '[text-editable]',\n template: '',\n providers: [{provide: NG_VALUE_ACCESSOR,useExisting: forwardRef(() => TextEditableComponent), multi: true}],\n standalone:true,\n // styles: [`\n // :host {\n // padding: 2px 4px;\n // }\n // :host[disabled='true'] {\n // pointer-events: none;\n // background: #F9F9F9;\n // }\n // :host:empty::before {\n // content: attr(placeholder);\n // color: #9D9D9D;\n // }\n // `]\n})\nexport class TextEditableComponent implements ControlValueAccessor, AfterViewInit {\n @HostListener('input') callOnChange() {\n this.onChange(this.el.nativeElement.innerHTML);\n }\n @HostListener('blur') callOnTouched() { this.onTouched(); }\n\n onChange: ((value: string) => void) | any; // init by this.registerOnChange\n onTouched: (() => void) | any; // init by this.registerOnTouched\n\n constructor(private el: ElementRef) { }\n\n ngAfterViewInit() {\n this.el.nativeElement.setAttribute('contenteditable', 'true');\n }\n\n // called when model is written to view. (model -> view)\n writeValue(value: any) {\n this.el.nativeElement.innerHTML = value || '';\n }\n\n registerOnChange(fn: any) { this.onChange = fn; }\n registerOnTouched(fn: any) { this.onTouched = fn; }\n\n // called when element property disabled is changed \n setDisabledState(val: boolean): void {\n this.el.nativeElement.setAttribute('disabled', String(val));\n this.el.nativeElement.setAttribute('contenteditable', String(!val));\n }\n\n}","
\r\n\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
0\" class=\"mention-dropdown\">\r\n
\r\n {{ k.isim?.charAt(0)?.toUpperCase() || '?' }}\r\n {{ k.isim }}\r\n @{{ k.kullaniciAdi }}\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n {{ geciciMetin }}\r\n
\r\n
\r\n\r\n
\r\n","import { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { Component, ElementRef, Inject, Input, Output, ViewChild, EventEmitter, ChangeDetectionStrategy, ChangeDetectorRef, OnDestroy } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { TextEditableComponent } from './text-editable.directive';\r\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\r\n\r\ninterface IWindow extends Window {\r\n SpeechRecognition: any;\r\n webkitSpeechRecognition: any;\r\n}\r\n\r\nexport interface IMentionKullanici {\r\n _id: string;\r\n isim: string;\r\n kullaniciAdi?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'fikoyt-paylas-text-editor',\r\n templateUrl: './paylas-text-editor.component.html',\r\n styleUrls: ['./paylas-text-editor.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n TextEditableComponent,\r\n ]\r\n})\r\nexport class PaylasTextEditorComponent implements OnDestroy {\r\n @ViewChild('textEditor', { static: false }) textEditor: any;\r\n\r\n @Input() kaydetTusu = false;\r\n\r\n @Input() saltOkunur = false;\r\n\r\n // Ses tanıma özellikleri\r\n private recognition: any = null;\r\n sesKayitAktif = false;\r\n sesKayitDestekleniyor = false;\r\n geciciMetin = '';\r\n private sonMetin = '';\r\n // private YAZI: string;\r\n // public get yazi(): string {\r\n // return this.YAZI;\r\n // }\r\n // @Input() public set yazi(v: string) {\r\n // this.YAZI = v;\r\n // }\r\n\r\n private HTML: string | any;\r\n public get html(): string {\r\n return this.HTML;\r\n }\r\n @Input() public set html(v: string) {\r\n this.HTML = v;\r\n this.htmlChange.emit(v)\r\n }\r\n\r\n @Output() htmlChange: EventEmitter = new EventEmitter();\r\n\r\n @Output() tiklandiKaydet: EventEmitter = new EventEmitter();\r\n\r\n mentionAcik = false;\r\n mentionSonuclar: IMentionKullanici[] = [];\r\n mentionAramaMetni = '';\r\n mentionSeciliIndex = 0;\r\n private mentionAramaZamanlayici: any = null;\r\n private mentionSavedRange: Range | null = null;\r\n\r\n constructor(\r\n private elemref: ElementRef,\r\n @Inject(DOCUMENT) private document: Document,\r\n public sanitizer: DomSanitizer,\r\n private cdr: ChangeDetectorRef\r\n ) {\r\n this.sesKayitDestekleniyor = this.sesKayitBaslat();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.recognition) {\r\n this.recognition.stop();\r\n this.recognition = null;\r\n }\r\n if (this.mentionAramaZamanlayici) clearTimeout(this.mentionAramaZamanlayici);\r\n }\r\n\r\n // Ses tanıma sistemini başlat\r\n private sesKayitBaslat(): boolean {\r\n const win = window as any as IWindow;\r\n const SpeechRecognition = win.SpeechRecognition || win.webkitSpeechRecognition;\r\n\r\n if (!SpeechRecognition) {\r\n console.warn('Web Speech API desteklenmiyor');\r\n return false;\r\n }\r\n\r\n this.recognition = new SpeechRecognition();\r\n this.recognition.lang = 'tr-TR'; // Türkçe\r\n this.recognition.continuous = true; // Sürekli dinle\r\n this.recognition.interimResults = true; // Geçici sonuçları göster\r\n this.recognition.maxAlternatives = 1;\r\n\r\n // Ses tanıma başladığında\r\n this.recognition.onstart = () => {\r\n this.sesKayitAktif = true;\r\n this.geciciMetin = '';\r\n this.cdr.detectChanges();\r\n };\r\n\r\n // Ses tanıma sonucu geldiğinde\r\n this.recognition.onresult = (event: any) => {\r\n let gecici = '';\r\n let kesin = '';\r\n\r\n for (let i = event.resultIndex; i < event.results.length; i++) {\r\n const transcript = event.results[i][0].transcript;\r\n\r\n if (event.results[i].isFinal) {\r\n kesin += transcript + ' ';\r\n } else {\r\n gecici += transcript;\r\n }\r\n }\r\n\r\n // Kesin sonuç geldiyse text editor'a ekle\r\n if (kesin) {\r\n this.sonMetin += kesin;\r\n this.metniEkle(kesin);\r\n this.geciciMetin = gecici;\r\n } else {\r\n this.geciciMetin = gecici;\r\n }\r\n\r\n this.cdr.detectChanges();\r\n };\r\n\r\n // Ses tanıma durduğunda\r\n this.recognition.onend = () => {\r\n if (this.sesKayitAktif) {\r\n // Kullanıcı durdurdu ise tekrar başlatma\r\n try {\r\n this.recognition.start();\r\n } catch (e) {\r\n this.sesKayitAktif = false;\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n };\r\n\r\n // Hata durumunda\r\n this.recognition.onerror = (event: any) => {\r\n console.error('Ses tanıma hatası:', event.error);\r\n if (event.error === 'no-speech') {\r\n // Ses yok hatası - normal, devam et\r\n return;\r\n }\r\n this.sesKayitAktif = false;\r\n this.cdr.detectChanges();\r\n };\r\n\r\n return true;\r\n }\r\n\r\n // Mikrofon butonuna basıldığında\r\n toggleSesKayit() {\r\n if (!this.sesKayitDestekleniyor) {\r\n alert('Tarayıcınız ses tanıma özelliğini desteklemiyor. Chrome veya Edge kullanın.');\r\n return;\r\n }\r\n\r\n if (this.sesKayitAktif) {\r\n // Durdur\r\n this.sesKayitAktif = false;\r\n this.recognition.stop();\r\n this.geciciMetin = '';\r\n this.sonMetin = '';\r\n } else {\r\n // Başlat\r\n try {\r\n this.recognition.start();\r\n } catch (e) {\r\n console.error('Ses tanıma başlatma hatası:', e);\r\n }\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n // Metni text editor'a ekle\r\n private metniEkle(metin: string) {\r\n if (this.saltOkunur) return;\r\n\r\n // textEditor directive'inin DOM elementini bul\r\n const editorEl: HTMLElement = this.textEditor?.el?.nativeElement\r\n || this.elemref.nativeElement.querySelector('.aciklama-div');\r\n if (!editorEl) return;\r\n\r\n // Mevcut içeriğe metni sona ekle\r\n editorEl.focus();\r\n\r\n // execCommand ile sona ekle - ControlValueAccessor'ü tetikler\r\n const sel = this.document.getSelection();\r\n if (sel) {\r\n // Cursor'u sona taşı\r\n const range = this.document.createRange();\r\n range.selectNodeContents(editorEl);\r\n range.collapse(false); // false = sona git\r\n sel.removeAllRanges();\r\n sel.addRange(range);\r\n\r\n // insertText komutu - input event'i tetikler, ngModel güncellenir\r\n this.document.execCommand('insertText', false, metin);\r\n }\r\n }\r\n\r\n execCommand(command: string, showui = false, target: any = undefined) {\r\n this.document.execCommand(command, showui, target?.value);\r\n }\r\n\r\n editorFullScreen(elem: any) {\r\n if (!this.document.fullscreenElement) {\r\n if (elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem.webkitRequestFullscreen) {\r\n elem.webkitRequestFullscreen();\r\n } else if (elem.msRequestFullscreen) {\r\n elem.msRequestFullscreen();\r\n }\r\n } else {\r\n if (this.document.exitFullscreen) {\r\n this.document.exitFullscreen();\r\n //@ts-ignore\r\n } else if (this.document.webkitExitFullscreen) {\r\n //@ts-ignore\r\n this.document.webkitExitFullscreen();\r\n //@ts-ignore\r\n } else if (this.document.msExitFullscreen) {\r\n //@ts-ignore\r\n this.document.msExitFullscreen();\r\n }\r\n }\r\n }\r\n\r\n editorKeydown(event: KeyboardEvent) {\r\n if (!this.mentionAcik) return;\r\n if (event.key === 'ArrowDown') {\r\n event.preventDefault();\r\n this.mentionSeciliIndex = Math.min(this.mentionSeciliIndex + 1, this.mentionSonuclar.length - 1);\r\n this.cdr.detectChanges();\r\n } else if (event.key === 'ArrowUp') {\r\n event.preventDefault();\r\n this.mentionSeciliIndex = Math.max(this.mentionSeciliIndex - 1, 0);\r\n this.cdr.detectChanges();\r\n } else if (event.key === 'Enter') {\r\n event.preventDefault();\r\n if (this.mentionSonuclar[this.mentionSeciliIndex]) {\r\n this.mentionSec(this.mentionSonuclar[this.mentionSeciliIndex]);\r\n }\r\n } else if (event.key === 'Escape') {\r\n this.mentionKapat();\r\n }\r\n }\r\n\r\n editorInput() {\r\n if (this.saltOkunur) return;\r\n const sel = this.document.getSelection();\r\n if (!sel?.rangeCount) return;\r\n const range = sel.getRangeAt(0);\r\n const textNode = range.startContainer;\r\n if (textNode.nodeType !== Node.TEXT_NODE) {\r\n if (this.mentionAcik) this.mentionKapat();\r\n return;\r\n }\r\n const metin = textNode.textContent || '';\r\n const cursorPos = range.startOffset;\r\n const oncekiMetin = metin.substring(0, cursorPos);\r\n const atMatch = oncekiMetin.match(/@([^\\s@]*)$/);\r\n if (atMatch) {\r\n this.mentionAramaMetni = atMatch[1];\r\n this.mentionSavedRange = range.cloneRange();\r\n this.mentionAcik = true;\r\n this.mentionSeciliIndex = 0;\r\n this.mentionAra(this.mentionAramaMetni);\r\n } else if (this.mentionAcik) {\r\n this.mentionKapat();\r\n }\r\n }\r\n\r\n private mentionAra(arama: string) {\r\n if (this.mentionAramaZamanlayici) clearTimeout(this.mentionAramaZamanlayici);\r\n this.mentionAramaZamanlayici = setTimeout(async () => {\r\n try {\r\n const match: any = { vt: 'FikoYT.sistem.kullanicilar', silindi: { $ne: true } };\r\n if (arama.trim()) {\r\n match.$or = [\r\n { 'veri.pilesmi': { $regex: arama, $options: 'i' } },\r\n { kullaniciAdi: { $regex: arama, $options: 'i' } },\r\n ];\r\n }\r\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\r\n istek.parametreler = { aggregate: [\r\n { $match: match },\r\n { $project: { _id: 1, 'veri.pilesmi': 1, kullaniciAdi: 1 } },\r\n { $limit: 8 },\r\n ]};\r\n await istek.isteSync();\r\n const sonuclar = (istek.cevap?.sonuc || []) as any[];\r\n this.mentionSonuclar = sonuclar.map(s => ({\r\n _id: s._id,\r\n isim: s.veri?.pilesmi || s.kullaniciAdi || '?',\r\n kullaniciAdi: s.kullaniciAdi,\r\n }));\r\n this.mentionSeciliIndex = 0;\r\n } catch {\r\n this.mentionSonuclar = [];\r\n }\r\n this.cdr.detectChanges();\r\n }, 200);\r\n }\r\n\r\n mentionSec(kullanici: IMentionKullanici) {\r\n if (!this.mentionSavedRange) { this.mentionKapat(); return; }\r\n const sel = this.document.getSelection();\r\n if (!sel) { this.mentionKapat(); return; }\r\n sel.removeAllRanges();\r\n sel.addRange(this.mentionSavedRange);\r\n const range = sel.getRangeAt(0);\r\n const textNode = range.startContainer;\r\n if (textNode.nodeType !== Node.TEXT_NODE) { this.mentionKapat(); return; }\r\n const metin = textNode.textContent || '';\r\n const cursorPos = range.startOffset;\r\n const oncekiMetin = metin.substring(0, cursorPos);\r\n const atIdx = oncekiMetin.lastIndexOf('@');\r\n if (atIdx === -1) { this.mentionKapat(); return; }\r\n const mentionSpan = this.document.createElement('span');\r\n mentionSpan.className = 'mention';\r\n mentionSpan.setAttribute('data-user-id', kullanici._id);\r\n mentionSpan.setAttribute('contenteditable', 'false');\r\n mentionSpan.textContent = `@${kullanici.isim}`;\r\n const oncesi = metin.substring(0, atIdx);\r\n const sonrasi = metin.substring(cursorPos);\r\n textNode.textContent = oncesi;\r\n const sonrasiNode = this.document.createTextNode('\\u00A0' + sonrasi);\r\n const parent = textNode.parentNode;\r\n if (parent) {\r\n parent.insertBefore(mentionSpan, textNode.nextSibling);\r\n parent.insertBefore(sonrasiNode, mentionSpan.nextSibling);\r\n const newRange = this.document.createRange();\r\n newRange.setStart(sonrasiNode, 1);\r\n newRange.collapse(true);\r\n sel.removeAllRanges();\r\n sel.addRange(newRange);\r\n }\r\n this.mentionKapat();\r\n if (this.textEditor?.callOnChange) this.textEditor.callOnChange();\r\n }\r\n\r\n mentionKapat() {\r\n this.mentionAcik = false;\r\n this.mentionSonuclar = [];\r\n this.mentionAramaMetni = '';\r\n this.mentionSavedRange = null;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n static mentionlariParsele(html: string): string[] {\r\n const regex = /data-user-id=\"([^\"]+)\"/g;\r\n const idler: string[] = [];\r\n let match;\r\n while ((match = regex.exec(html)) !== null) idler.push(match[1]);\r\n return [...new Set(idler)];\r\n }\r\n}\r\n","\nimport { IEk } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { NzTagModule } from 'ng-zorro-antd/tag';\nimport { NzInputModule } from 'ng-zorro-antd/input';\n\n@Component({\n selector: 'fiko-yazidan-resme',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n NzTagModule,\n NzInputModule,\n ],\n templateUrl: './yazidan-resme.component.html',\n styleUrl: './yazidan-resme.component.scss'\n})\nexport class YazidanResmeComponent extends FikoYTKokBilesenComponent {\n /** */\n private _ek: IEk | any;\n public get ek(): IEk | any {\n return this._ek;\n }\n @Input() public set ek(v: IEk | any) {\n this._ek = v;\n this.ekChange.emit(v);\n this.CD.detectChanges();\n }\n @Output() ekChange: EventEmitter = new EventEmitter();\n\n}\n","
\n
\n \"\"\n
\n Resmi Anlatın\n \n
\n \n
\n
","@switch (ek?.yz) {\n@default {\n
\n \n \n \n \n
\n}\n@case (\"YazıdanResme\") {\n\n}\n\n}","import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { RouterModule } from '@angular/router';\nimport { YazidanResmeComponent } from \"./yazidan-resme/yazidan-resme.component\";\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { IEk } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\n\n@Component({\n selector: 'fiko-yapay-zeka',\n templateUrl: './yapay-zeka.component.html',\n styleUrl: './yapay-zeka.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n RouterModule,\n FormsModule,\n YazidanResmeComponent\n ]\n})\nexport class YapayZekaComponent extends FikoYTKokBilesenComponent {\n\n /** */\n private _ek: IEk | any;\n public get ek(): IEk | any {\n return this._ek;\n }\n @Input() public set ek(v: IEk | any) {\n this._ek = v;\n this.ekChange.emit(v);\n this.CD.detectChanges();\n }\n @Output() ekChange: EventEmitter = new EventEmitter();\n\n\n async tiklandiSiniflandir(img: any) {\n //@ts-ignore\n // tf.ENV.set('WEBGL_PACK', false)\n // const mobilenetModel = await mobilenet.load()\n // const MobileNetSiniflar = await mobilenetModel.classify(img)\n\n\n // const cocoModel = await cocoSsd.load();\n // const cocoSonuc = await cocoModel.detect(img, 20, 0);\n // console.log(cocoSonuc)\n\n // nsfwjs.load('https://cdn.jsdelivr.net/gh/infinitered/nsfwjs@2.4.1/example/nsfw_demo/public/quant_nsfw_mobilenet/').then((model: any) => {\n // model.classify(img).then((predictions: any) => {\n // console.log(predictions)\n // this.sonuc = [...MobileNetSiniflar, ...cocoSonuc, ...predictions];\n // this.CD.detectChanges();\n // })\n // })\n\n }\n}\n","import { IUyarVT, IUyarYollar, IVT, IYollar } from \"@/src/service/fikoyt-ui/interfaces/IKart.interface\";\nimport { IAcılırKutuParametre, IParametre, ISimgeliBaslikParametre } from \"@/src/service/fikoyt-ui/interfaces/IParametre/IParametre\";\n\nexport const FirmaOlusturSet: IParametre[] = [\n {\n turu: \"Simgeli Başlık\",\n ismi: \"baslikSimge\",\n altAciklama: \"Firmanın Logosunu Giriniz Yada Anımsatacak Bişiler\",\n degeri: {\n simge: \"circular industry\",\n baslik: \"Firma Ekle\",\n altBaslik: \"Sisteminize Yeni Bir Firma Ekleyebilirsiniz.\",\n },\n ayarlar: {\n\n },\n } as ISimgeliBaslikParametre,\n {\n turu: \"Resim\",\n ismi: \"logo\",\n baslik: \"Firma Logosu\",\n altAciklama: \"Firmanın Logosunu Giriniz Yada Anımsatacak Bişiler\",\n degeri: null,\n yerTutucu: \"Firma Logosu\",\n ayarlar: {},\n kontroller: [\n {\n fn: `\n let dgr = itm.degeri;\n /** BİLGİ: Eğer Türü String İse Ve Bişi Girilmemişse */\n if (dgr === '' || dgr === null) { \n itm.uyarilar.push({\n renk: \"blue\",\n mesaj: \"Logo Alanı Eklemeniz Firmaları Daha Kolay Ayırt Etmenizi Sağlar.\"\n }); \n }\n /** NOT: Tüm Testlerden Geçti */\n return true;\n `\n },\n ]\n },\n {\n turu: \"Yazı\",\n ismi: \"ismi\",\n altAciklama: \"Firmanın İsmini Giriniz\",\n yerTutucu: \"Firma İsmi\",\n baslik: \"Firma İsmi\",\n degeri: null,\n ayarlar: {\n solSimge: \"🖋\",\n },\n kontroller: [\n {\n fn: `\n let dgr = itm.degeri;\n /** BİLGİ: Eğer Türü String İse Ve Bişi Girilmemişse */\n if (dgr === '' || dgr === null) { \n itm.hatalar.push({\n renk: \"red\",\n mesaj: \"Firma İsmi Gereklidir.\"\n }); \n }\n /** NOT: Tüm Testlerden Geçti */\n return true;\n `\n },\n ]\n }\n ,\n {\n turu: \"Yazı Alanı\",\n ismi: \"aciklama\",\n altAciklama: \"Açıklama Giriniz\",\n yerTutucu: \"Açıklama\",\n baslik: \"Açıklama\",\n degeri: null,\n\n ayarlar: {\n solSimge: \"🖋\",\n },\n kontroller: [\n ]\n },\n];\n\n/** */\nexport const PersonelEkleSet: IParametre[] = [\n {\n turu: \"Simgeli Başlık\",\n ismi: \"baslikSimge\",\n altAciklama: \"Bir Firmaya Personel Ekleyin\",\n degeri: {\n simge: \"circular user graduate\",\n baslik: \"Personel Ekle\",\n altBaslik: \"Bir Firmaya Personel Ekleyin\",\n },\n ayarlar: {\n\n },\n } as ISimgeliBaslikParametre,\n {\n turu: \"Resim\",\n ismi: \"resim\",\n baslik: \"Personel Resmi\",\n altAciklama: \"Personelin Resmini Seçiniz.\",\n degeri: null,\n yerTutucu: \"Personel Resmi\",\n ayarlar: {},\n },\n\n {\n baslik: \"Firma\",\n ismi: \"firma\",\n altAciklama: \"Personelin Çalıştığı Firmayı Seçiniz.\",\n turu: \"Açılır Kutu\",\n yerTutucu: \"Firma\",\n ayarlar: {\n solSimge: \"🏭\",\n arama: true,\n silme: true,\n secenekItm: `return { value: scnk._id, label: scnk.parametreler?.[1]?.degeri }`,\n fapiAyarlar: {\n vt: \"FikoYT.Uyar.firmalar\",\n yol: \"FikoYT.Uyar.firmalar.kalem\",\n pipeFunc: `\n return [{\n $match: { \"parametreler.1.degeri\": { $regex: deger, $options: \"i\" } }\n }]\n `\n },\n },\n kontroller: [\n {\n fn: `\n let dgr = itm.degeri;\n /** BİLGİ: Eğer Türü String İse Ve Bişi Girilmemişse */\n if (dgr === '' || dgr === null) { \n itm.hatalar.push({\n renk: \"red\",\n mesaj: \"Firma İsmi Gereklidir.\"\n }); \n }\n /** NOT: Tüm Testlerden Geçti */\n return true;\n `\n },\n ]\n } as IAcılırKutuParametre,\n\n {\n turu: \"Yazı\",\n ismi: \"ismi\",\n altAciklama: \"Firmanın İsmini Seçiniz\",\n yerTutucu: \"Personel İsmi\",\n baslik: \"Personel İsmi\",\n degeri: null,\n ayarlar: {\n solSimge: \"🖋\",\n },\n kontroller: [\n {\n fn: `\n let dgr = itm.degeri;\n /** BİLGİ: Eğer Türü String İse Ve Bişi Girilmemişse */\n if (dgr === '' || dgr === null) { \n itm.hatalar.push({\n renk: \"red\",\n mesaj: \"Personel İsmi Gereklidir.\"\n }); \n }\n /** NOT: Tüm Testlerden Geçti */\n return true;\n `\n },\n ]\n },\n\n {\n turu: \"Yazı\",\n ismi: \"soyismi\",\n altAciklama: \"Personelin Soy İsmini Giriniz\",\n yerTutucu: \"Personel Soy İsmi\",\n baslik: \"Personel Soy İsmi\",\n degeri: null,\n ayarlar: {\n solSimge: \"🖋\",\n },\n kontroller: [\n {\n fn: `\n let dgr = itm.degeri;\n /** BİLGİ: Eğer Türü String İse Ve Bişi Girilmemişse */\n if (dgr === '' || dgr === null) { \n itm.uyarilar.push({\n renk: \"blue\",\n mesaj: \"Personelin Soy İsmini Girmeniz Daha Kolay Ayırt Etmenizi Sağlar.\"\n });\n }\n /** NOT: Tüm Testlerden Geçti */\n return true;\n `\n },\n ]\n },\n\n {\n turu: \"Yazı\",\n ismi: \"mobil-tel\",\n altAciklama: \"Personelin Mobil Telefonunu Giriniz\",\n yerTutucu: \"Personel Mobil Telefonu\",\n baslik: \"Personel Mobil Telefonu\",\n degeri: null,\n ayarlar: {\n solSimge: \"📱\",\n },\n kontroller: [\n {\n fn: `\n let dgr = itm.degeri;\n /** BİLGİ: Eğer Türü String İse Ve Bişi Girilmemişse */\n if (dgr === '' || dgr === null) { \n itm.uyarilar.push({\n renk: \"blue\",\n mesaj: \"Personelin Mobil Telefonunu Girmeniz, Sisteminizi Kullananların Daha Kolay İletişim Kurmasını Sağlar.\"\n });\n }\n /** NOT: Tüm Testlerden Geçti */\n return true;\n `\n },\n ]\n },\n\n {\n turu: \"Yazı Alanı\",\n ismi: \"aciklama\",\n altAciklama: \"Açıklama Giriniz\",\n yerTutucu: \"Açıklama\",\n baslik: \"Açıklama\",\n degeri: null,\n\n ayarlar: {\n solSimge: \"💭\",\n },\n kontroller: [\n ],\n uyarilar: [\n {\n renk: \"orange\", mesaj: \"Açıklamalar yapay zekanın bu kişiyi tanımasına ve gerektiğinde size önermesinde oldukça yardımcı olmaktadır.\"\n }\n ]\n },\n];\n\n/** */\nexport const TeklifOlusturSet: IParametre[] = [\n {\n turu: \"Simgeli Başlık\",\n ismi: \"baslikSimge\",\n degeri: {\n simge: \"circular user graduate\",\n baslik: \" Teklif Ekle\",\n altBaslik: \"Bir Firmaya Teklifte Bulunun\",\n },\n ayarlar: {\n\n },\n } as ISimgeliBaslikParametre,\n {\n ismi: \"firma\",\n baslik: \"Firma\",\n altAciklama: \"Telifi Yapacağınız Firmayı seçiniz\",\n turu: \"Açılır Kutu\",\n yerTutucu: \"Firma\",\n ayarlar: {\n solSimge: \"🏭\",\n arama: true,\n silme: true,\n secenekItm: `return { value: scnk._id, label: scnk.parametreler?.[1]?.degeri }`,\n fapiAyarlar: {\n vt: \"FikoYT.Uyar.firmalar\",\n yol: \"FikoYT.Uyar.firmalar.kalem\",\n pipeFunc: `\n return [{\n $match: { parametreler: { $elemMatch: { ismi: \"ismi\", degeri: { $regex: deger ?? \"\", $options: \"i\" } } } },\n }]\n `\n },\n olaylar: {\n secimSilindi: `prm.yetkili=null;`,\n degisti: `prm.yetkili=null;`\n }\n },\n\n\n } as IAcılırKutuParametre,\n {\n ismi: \"yetkili\",\n baslik: \"Teklif Yapılan Yetkili\",\n altAciklama: \"Telifi Yapacağınız Firma Yetkilisini seçiniz\",\n turu: \"Açılır Kutu\",\n yerTutucu: \"Firma Yetklisi\",\n ayarlar: {\n solSimge: \"👷‍♀️\", silme: true, arama: true,\n secenekItm: `\n let parametreler = new Proxy({}, {\n get(_, prop: string) {\n return scnk.parametreler?.find(p => p.ismi === prop)?.degeri ?? null;\n }\n });\n\n return { value: scnk._id, label: (parametreler.ismi ?? '') + ' ' + (parametreler.soyismi ?? '') }`,\n fapiAyarlar: {\n vt: \"FikoYT.Uyar.firmalar.personeller\" as IUyarVT,\n yol: \"FikoYT.Uyar.firmalar.personeller.kalem\" as IUyarYollar,\n pipeFunc: `\n return [\n {\n \"$match\": {\n \"parametreler\": {\n \"$elemMatch\": {\n \"ismi\": \"firma\",\n \"degeri\": prm.firma ?? \"aaa\"\n }\n }\n }\n },\n {\n \"$addFields\": {\n \"tamAd\": {\n \"$concat\": [\n {\n \"$arrayElemAt\": [\n {\n \"$map\": {\n \"input\": {\n \"$filter\": {\n \"input\": \"$parametreler\",\n \"as\": \"p\",\n \"cond\": {\n \"$eq\": [\n \"$$p.ismi\",\n \"ismi\"\n ]\n }\n }\n },\n \"as\": \"p\",\n \"in\": \"$$p.degeri\"\n }\n },\n 0\n ]\n },\n \" \",\n {\n \"$arrayElemAt\": [\n {\n \"$map\": {\n \"input\": {\n \"$filter\": {\n \"input\": \"$parametreler\",\n \"as\": \"p\",\n \"cond\": {\n \"$eq\": [\n \"$$p.ismi\",\n \"soyismi\"\n ]\n }\n }\n },\n \"as\": \"p\",\n \"in\": \"$$p.degeri\"\n }\n },\n 0\n ]\n }\n ]\n }\n }\n },\n {\n \"$match\": {\n \"$or\": [\n {\n \"parametreler\": {\n \"$elemMatch\": {\n \"ismi\": \"ismi\",\n \"degeri\": {\n \"$regex\":\n deger ??\n \"\",\n \"$options\": \"i\"\n }\n }\n }\n },\n {\n \"parametreler\": {\n \"$elemMatch\": {\n \"ismi\": \"soyismi\",\n \"degeri\": {\n \"$regex\":\n deger ??\n \"\",\n \"$options\": \"i\"\n }\n }\n }\n },\n {\n \"tamAd\": {\n \"$regex\":\n deger ??\n \"\",\n \"$options\": \"i\"\n }\n }\n ]\n }\n }\n ]\n `\n }\n }\n } as IAcılırKutuParametre,\n\n {\n ismi: \"eposta_referans\",\n baslik: \"E-Posta Referansı\",\n altAciklama: \"Telifi aldığınız mailin referansını seçiniz\",\n turu: \"Açılır Kutu\",\n yerTutucu: \"E-Posta Referansı\",\n ayarlar: {\n solSimge: \"📨\"\n }\n },\n\n {\n baslik: \"Geçerlilik Tarihi\",\n ismi: \"gecerlilikTarihi\",\n altAciklama: \"Telifin geçerlilik tarihini seçiniz\",\n turu: \"Tarih Saat\",\n yerTutucu: \"Geçerlilik Tarihi\",\n ayarlar: {\n solSimge: \"📅\",\n format: \"dd.MM.yyyy hh:mm:ss 'Hft.'w\"\n }\n },\n\n {\n turu: \"Yazı Alanı\",\n ismi: \"aciklama\",\n altAciklama: \"Açıklama Giriniz\",\n yerTutucu: \"Açıklama\",\n baslik: \"Açıklama\",\n degeri: null,\n\n ayarlar: {\n solSimge: \"🖋\",\n },\n kontroller: [\n ],\n // uyarilar: [\n // {\n // renk: \"teal\", mesaj:\"Teklifle ilgili detayları yazmanız daha sonra hatırlamanıza yardımcı olacak.\"}\n // ]\n },\n];","
\n
\n @switch (rota() ?? 'ana-sayfa') {\n @case (\"ana-sayfa\") {\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n
\n }\n\n @default {\n \n\n }\n\n \n }\n\n @if (rota()!=\"ana-sayfa\") {\n \n }\n
\n
","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Injector, Input, model, OnDestroy, signal, ViewChild } from '@angular/core';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { FormsModule } from '@angular/forms';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { IIcerik, IKart, IKartTuru, IUyarVT, IUyarYollar, TurGizlilik, TurGizlilikBilgi } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\nimport { ServisUyarProjeler } from '@/src/app/uygulamalar/uyar-dokum/projeler/projeler.service';\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { ServisUyarService } from '@/src/app/uygulamalar/uyar-dokum/servis-uyar.service';\nimport { RouterModule } from '@angular/router';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { IParametre } from '@/src/service/fikoyt-ui/interfaces/IParametre/IParametre';\nimport { FikoYTId } from '@/src/service/fikoyt-ui/helpers/FikoYTId';\nimport { ParametrelerComponent } from '@/src/service/fikoyt-ui/src/lib/parametreler/parametreler.component';\nimport { FirmaEkleComponent } from './firma-ekle/.component';\nimport { TeklifOlusturComponent } from './teklif-olustur/.component';\nimport { UyarPersonelEkeComponent } from './personel-ekle/.component';\nimport { PersonelEkleSet, FirmaOlusturSet, TeklifOlusturSet } from './IVeriSetleri';\n\ndeclare var $: any;\n\n@Component({\n selector: 'paylas-uyar-kutusu',\n templateUrl: './uyar-kutusu.component.html',\n styleUrls: ['./uyar-kutusu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n NzPopconfirmModule,\n NzWaveModule,\n NzButtonModule,\n NzInputModule,\n RouterModule,\n ParametrelerComponent,\n ],\n\n})\nexport class IUyarKartComponent extends FikoYTKokBilesenComponent implements OnDestroy {\n @Input() kart: IKart | undefined;\n @Input() icerik: IIcerik | undefined;\n\n\n /** */\n rota = model(\"ana-sayfa\");\n\n\n constructor(public servisUyarProjeler: ServisUyarProjeler, public servisUyar: ServisUyarService) {\n super();\n // setTimeout(() => {\n // this.CD.detach();\n // })\n\n this.subsList.push(this.FikoYT.degisti.subscribe(() => {\n this.CD.detectChanges();\n }));\n }\n\n tiklandiFirmaOlustur() {\n this.icerik.ek.parametreler = FirmaOlusturSet;\n this.icerik.ek.vt = 'FikoYT.Uyar.firmalar' as IUyarVT;\n this.icerik.ek.yol = 'FikoYT.Uyar.firmalar.kalem' as IUyarYollar;\n this.CD.detectChanges();\n this.rota.set('firma');\n }\n tiklandiPersonelEkle() {\n this.icerik.ek.parametreler = PersonelEkleSet;\n this.icerik.ek.vt = 'FikoYT.Uyar.firmalar.personeller' as IUyarVT;\n this.icerik.ek.yol = 'FikoYT.Uyar.firmalar.personeller.kalem' as IUyarYollar;\n this.CD.detectChanges();\n this.rota.set('personel');\n }\n\n tiklandiTeklifOlustur() {\n this.icerik.ek.parametreler = TeklifOlusturSet;\n this.icerik.ek.vt = 'FikoYT.Uyar.teklifler' as IUyarVT;\n this.icerik.ek.yol = 'FikoYT.Uyar.teklifler.kalem' as IUyarYollar;\n this.CD.detectChanges();\n this.rota.set('teklif');\n }\n\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n }\n\n\n\n}\n","
\n\n \n @if (navigasyonYolu().length > 0 && !seciliSet()) {\n
\n \n \n @for (parca of breadcrumb(); track $index) {\n @if ($index > 0) { / }\n {{ parca }}\n }\n \n
\n }\n\n \n @if (seciliSet()) {\n
\n \n \n {{ seciliSet()!.simge }} {{ seciliSet()!.baslik }}\n \n
\n }\n\n \n @if (!seciliSet()) {\n
\n \n \n \n \n
\n }\n\n \n @if (!aktifAltGruplar() && !seciliSet()) {\n @if (gosterilecekGruplar()?.length === 0 && aramaMetni()) {\n
\n \n \"{{ aramaMetni() }}\" icin sonuc bulunamadi\n
\n }\n
\n @for (grup of gosterilecekGruplar(); track grup.id; let i = $index) {\n \n }\n
\n }\n\n \n @if (aktifAltGruplar() && !seciliSet()) {\n @if (filtrelenmisAltGruplar()?.length === 0 && aramaMetni()) {\n
\n \n \"{{ aramaMetni() }}\" icin sonuc bulunamadi\n
\n }\n
\n @for (set of filtrelenmisAltGruplar(); track set.id; let i = $index) {\n \n }\n
\n }\n\n
\n","import { Component, ChangeDetectionStrategy, ChangeDetectorRef, EventEmitter, HostListener, inject, Input, Output, signal, computed } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IParametreSetiGrubu, IParametreSeti } from '@/src/service/fikoyt-ui/interfaces/IParametreSeti.interface';\r\nimport { IParametre } from '@/src/service/fikoyt-ui/interfaces/IParametre/IParametre';\r\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { turkceKucuk } from '@/src/app/shared/utils/regex.utils';\r\n\r\n@Component({\r\n selector: 'parametre-seti-secici',\r\n standalone: true,\r\n imports: [CommonModule, FormsModule, NzTooltipModule, NzInputModule],\r\n templateUrl: './parametre-seti-secici.component.html',\r\n styleUrls: ['./parametre-seti-secici.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class ParametreSetiSeciciComponent {\r\n private cd = inject(ChangeDetectorRef);\r\n @Input() setler: IParametreSetiGrubu[] = [];\r\n @Input() kullaniciYetkileri: string[] = [];\r\n\r\n private _seciliSetId: string | null = null;\r\n private _secimKaldirmaDanGeldi = false;\r\n @Input() set seciliSetId(v: string | null) {\r\n const onceki = this._seciliSetId;\r\n this._seciliSetId = v;\r\n if (v == null && onceki != null && !this._secimKaldirmaDanGeldi) {\r\n this.seciliSet.set(null);\r\n this.navigasyonYolu.set([]);\r\n this.aktifAltGruplar.set(null);\r\n }\r\n this._secimKaldirmaDanGeldi = false;\r\n }\r\n get seciliSetId() { return this._seciliSetId; }\r\n\r\n @Output() panelKapat = new EventEmitter();\r\n @Output() setSecildi = new EventEmitter<{\r\n setId: string;\r\n parametreler: IParametre[];\r\n sayfaKurallari?: IParametreSeti['sayfaKurallari'];\r\n bilesen?: string;\r\n bilesenGorunum?: string;\r\n }>();\r\n @Output() setKaldirildi = new EventEmitter();\r\n @Output() parametrelerDegisti = new EventEmitter();\r\n\r\n readonly navigasyonYolu = signal([]);\r\n readonly aktifAltGruplar = signal(null);\r\n readonly seciliSet = signal(null);\r\n readonly aramaMetni = signal('');\r\n animSinifi = '';\r\n\r\n readonly breadcrumb = computed(() =>\r\n this.navigasyonYolu().map(g => g.baslik)\r\n );\r\n\r\n private turkceKucukYerel(str: string): string {\r\n return turkceKucuk(str);\r\n }\r\n\r\n private aramaEslesiyor(grup: { baslik?: string; aciklama?: string; simge?: string }, sorgu: string): boolean {\r\n if (!sorgu) return true;\r\n const q = this.turkceKucukYerel(sorgu);\r\n return this.turkceKucukYerel(grup.baslik || '').includes(q)\r\n || this.turkceKucukYerel(grup.aciklama || '').includes(q)\r\n || (grup.simge || '').includes(q);\r\n }\r\n\r\n private derinAra(grup: IParametreSetiGrubu, sorgu: string): boolean {\r\n if (this.aramaEslesiyor(grup, sorgu)) return true;\r\n if (grup.altGruplar?.some(alt => this.aramaEslesiyor(alt, sorgu))) return true;\r\n return false;\r\n }\r\n\r\n readonly gosterilecekGruplar = computed(() => {\r\n if (this.aktifAltGruplar()) return null;\r\n const sorgu = this.aramaMetni();\r\n return this.setler\r\n .filter(g => this.gorunurMu(g.yetkiler))\r\n .filter(g => this.derinAra(g, sorgu));\r\n });\r\n\r\n readonly filtrelenmisAltGruplar = computed(() => {\r\n const altler = this.aktifAltGruplar();\r\n if (!altler) return null;\r\n const sorgu = this.aramaMetni();\r\n if (!sorgu) return altler;\r\n return altler.filter(s => this.aramaEslesiyor(s, sorgu));\r\n });\r\n\r\n gorunurMu(yetkiler?: { gorebilir?: string[]; kullanabilir?: string[] }): boolean {\r\n if (!yetkiler?.gorebilir?.length) return true;\r\n return yetkiler.gorebilir.some(y => this.kullaniciYetkileri.includes(y));\r\n }\r\n\r\n kullanilabilirMi(yetkiler?: { gorebilir?: string[]; kullanabilir?: string[] }): boolean {\r\n if (!yetkiler?.kullanabilir?.length) return true;\r\n return yetkiler.kullanabilir.some(y => this.kullaniciYetkileri.includes(y));\r\n }\r\n\r\n @HostListener('window:popstate')\r\n onPopState() {\r\n if (this.navigasyonYolu().length > 0) {\r\n this.geriGit();\r\n }\r\n }\r\n\r\n grupTiklandi(grup: IParametreSetiGrubu) {\r\n if (!this.kullanilabilirMi(grup.yetkiler)) return;\r\n if (grup.bilesen) {\r\n this.seciliSet.set({ id: grup.id, baslik: grup.baslik, simge: grup.simge, parametreler: grup.parametreler ?? [] });\r\n this.setSecildi.emit({\r\n setId: grup.id,\r\n parametreler: grup.parametreler ? JSON.parse(JSON.stringify(grup.parametreler)) : [],\r\n sayfaKurallari: grup.sayfaKurallari,\r\n bilesen: grup.bilesen,\r\n bilesenGorunum: grup.bilesenGorunum,\r\n });\r\n return;\r\n }\r\n if (grup.altGruplar?.length) {\r\n history.pushState({ paylasim: 'parametreSet' }, '');\r\n this.animSinifi = 'sayfa-cikis-sol';\r\n setTimeout(() => {\r\n this.navigasyonYolu.update(y => [...y, grup]);\r\n this.aktifAltGruplar.set(grup.altGruplar!.filter(s => this.gorunurMu(s.yetkiler)));\r\n this.animSinifi = 'sayfa-giris-sag';\r\n setTimeout(() => this.animSinifi = '', 300);\r\n }, 180);\r\n } else if (grup.parametreler?.length) {\r\n this.setSecimYap({\r\n id: grup.id,\r\n baslik: grup.baslik,\r\n simge: grup.simge,\r\n parametreler: grup.parametreler,\r\n yetkiler: grup.yetkiler,\r\n sayfaKurallari: grup.sayfaKurallari,\r\n });\r\n }\r\n }\r\n\r\n altSetTiklandi(set: IParametreSeti) {\r\n if (!this.kullanilabilirMi(set.yetkiler)) return;\r\n if ((set as any).bilesen) {\r\n this.seciliSet.set({ id: set.id, baslik: set.baslik, simge: set.simge, parametreler: set.parametreler ?? [] });\r\n this.setSecildi.emit({\r\n setId: set.id,\r\n parametreler: set.parametreler ? JSON.parse(JSON.stringify(set.parametreler)) : [],\r\n sayfaKurallari: (set as any).sayfaKurallari,\r\n bilesen: (set as any).bilesen,\r\n bilesenGorunum: (set as any).bilesenGorunum,\r\n });\r\n return;\r\n }\r\n this.setSecimYap(set);\r\n }\r\n\r\n geriGit() {\r\n this.animSinifi = 'sayfa-cikis-sag';\r\n this.cd.markForCheck();\r\n setTimeout(() => {\r\n this.navigasyonYolu.update(y => y.slice(0, -1));\r\n const ust = this.navigasyonYolu();\r\n if (ust.length > 0) {\r\n const sonGrup = ust[ust.length - 1];\r\n this.aktifAltGruplar.set(sonGrup.altGruplar?.filter(s => this.gorunurMu(s.yetkiler)) ?? null);\r\n } else {\r\n this.aktifAltGruplar.set(null);\r\n }\r\n this.animSinifi = 'sayfa-giris-sol';\r\n this.cd.detectChanges();\r\n setTimeout(() => { this.animSinifi = ''; this.cd.markForCheck(); }, 300);\r\n }, 180);\r\n }\r\n\r\n private setSecimYap(set: IParametreSeti) {\r\n const parametreler: IParametre[] = JSON.parse(JSON.stringify(set.parametreler)).map((p: IParametre) => ({\r\n ...p,\r\n degeri: p.degeri ?? null,\r\n }));\r\n this.seciliSet.set(set);\r\n this.setSecildi.emit({\r\n setId: set.id,\r\n parametreler,\r\n sayfaKurallari: set.sayfaKurallari,\r\n });\r\n }\r\n\r\n secimKaldir() {\r\n this._secimKaldirmaDanGeldi = true;\r\n this.seciliSet.set(null);\r\n this.setKaldirildi.emit();\r\n }\r\n\r\n secimSifirla() {\r\n this._secimKaldirmaDanGeldi = true;\r\n this.seciliSet.set(null);\r\n this.cd.detectChanges();\r\n }\r\n\r\n onParametrelerDegisti(parametreler: IParametre[]) {\r\n this.parametrelerDegisti.emit(parametreler);\r\n }\r\n}\r\n","import { FikoYTId } from '@/src/service/fikoyt-ui/helpers/FikoYTId';\n\nexport type SablonMod = 'blok' | 'serbest' | 'hibrit';\nexport type ArkaplanTur = 'renk' | 'gradient' | 'resim' | 'hazir';\nexport type ElementTur =\n | 'sabit-metin' | 'parametre-metin' | 'parametre-render' | 'markdown'\n | 'sekil' | 'resim'\n | 'sayac' | 'ilerleme-cubugu' | 'ilerleme-halka' | 'gauge'\n | 'sparkline' | 'bar-grafik' | 'pasta-grafik' | 'alan-grafik'\n | 'radar-grafik' | 'isi-haritasi' | 'seviye-cubugu'\n | 'dijital-saat' | 'analog-saat' | 'countdown' | 'kronometr' | 'zaman-cizelgesi'\n | 'durum-dot' | 'durum-kart' | 'led-gosterge' | 'trafik-isigi' | 'sinyal-cubugu'\n | 'liste-tekrar' | 'siralama-listesi' | 'mini-tablo' | 'kanban-sutun'\n | 'avatar' | 'badge' | 'ticker' | 'qr-kod' | 'hava-durumu' | 'lottie' | 'iframe'\n | 'buton' | 'toggle' | 'slider' | 'tab-grup';\nexport type SekilTuru = 'dikdortgen' | 'daire' | 'ucgen' | 'cizgi' | 'yildiz';\n\nexport interface ISablonStil {\n fontSize?: number;\n fontFamily?: string;\n fontWeight?: string;\n color?: string;\n fill?: string;\n stroke?: string;\n strokeWidth?: number;\n borderRadius?: number;\n opacity?: number;\n rotate?: number;\n shadow?: string;\n textAlign?: 'left' | 'center' | 'right';\n verticalAlign?: 'top' | 'center' | 'bottom';\n letterSpacing?: number;\n lineHeight?: number;\n}\n\nexport interface IArkaPlan {\n tur: ArkaplanTur;\n deger: string;\n}\n\nexport interface IBolge {\n id: string;\n yukseklik: number | 'auto';\n}\n\nexport type GirisAnimasyon = 'fadeIn' | 'slideUp' | 'slideDown' | 'slideLeft' | 'slideRight' | 'scaleIn' | 'bounce' | 'flip' | 'rotateIn';\nexport type SurekliAnimasyon = 'pulse' | 'float' | 'rotate' | 'shimmer' | 'blink' | 'shake' | 'swing' | 'breathe' | 'glow';\nexport type HoverAnimasyon = 'scale' | 'glow' | 'shake' | 'jello' | 'lift' | 'colorShift';\nexport type TiklamaAnimasyon = 'pop' | 'ripple' | 'shrink' | 'flash' | 'rubber' | 'tada' | 'heartbeat';\n\nexport interface ISablonAnimasyon {\n giris?: GirisAnimasyon;\n girisSure?: number;\n girisGecikme?: number;\n surekli?: SurekliAnimasyon;\n surekliSure?: number;\n hover?: HoverAnimasyon;\n tiklama?: TiklamaAnimasyon;\n}\n\nexport interface ISablonElement {\n id: string;\n tur: ElementTur;\n x: number;\n y: number;\n genislik: number;\n yukseklik: number;\n bolgeId?: string;\n parametreAnahtari?: string;\n icerik?: string;\n sekilTuru?: SekilTuru;\n resimUrl?: string;\n stil: ISablonStil;\n animasyon?: ISablonAnimasyon;\n katman?: number;\n gorunur?: boolean;\n deger?: number;\n min?: number;\n max?: number;\n renk?: string;\n veriler?: number[];\n etiketler?: string[];\n tiklanmaKodu?: string;\n format?: string;\n}\n\nexport interface ISablonVeriKaynagi {\n mod: 'aggregate' | 'sabit' | 'soket' | 'hesaplama';\n vt?: string;\n pipeline?: any[];\n donusumFunc?: string;\n sabitVeri?: any;\n soketOlay?: string;\n soketFiltre?: Record;\n piFunc?: string;\n yenilemeAraligi?: number;\n soketTetik?: string;\n}\n\nexport interface ISablonOlaylar {\n tiklanma?: string;\n yenilendi?: string;\n esikAsimi?: string;\n ciftTiklama?: string;\n [key: string]: string | undefined;\n}\n\nexport interface ISablonItem {\n id: string;\n sablon?: ISablon;\n veriKaynagi?: ISablonVeriKaynagi;\n olaylar?: ISablonOlaylar;\n [key: string]: any;\n}\n\nexport interface ISablonPozisyon {\n genislik: number;\n yukseklik: number;\n x?: number;\n y?: number;\n sira?: number;\n}\n\nexport interface ISablonGorunumStil {\n arkaPlan?: string;\n gradyan?: string;\n renkYazi?: string;\n borderRadius?: number;\n animasyon?: string;\n golge?: string;\n}\n\nexport interface IDashboardAyarlar {\n layout: 'grid' | 'serbest';\n kolonSayisi?: number;\n aralik?: number;\n widgetler: ISablon[];\n}\n\nexport interface ISablon {\n mod: SablonMod;\n arkaPlan: IArkaPlan;\n bolgeler: IBolge[];\n elementler: ISablonElement[];\n genislik?: number;\n yukseklik?: number;\n htmlModu?: boolean;\n htmlIcerik?: string;\n cssIcerik?: string;\n jsIcerik?: string;\n\n id?: string;\n tur?: 'widget' | 'kart' | 'serbest';\n baslik?: string;\n simge?: string;\n aciklama?: string;\n gorunur?: boolean;\n silindi?: boolean;\n yetki?: string[];\n sira?: number;\n kaynak?: 'kod' | 'db';\n\n pozisyon?: ISablonPozisyon;\n stil?: ISablonGorunumStil;\n\n veriKaynagi?: ISablonVeriKaynagi;\n olaylar?: ISablonOlaylar;\n itemler?: ISablonItem[];\n}\n\nconst ELEMENT_VARSAYILANLAR: Partial>> = {\n 'sabit-metin': { icerik: 'Metin', genislik: 120, yukseklik: 30, stil: { fontSize: 14, color: '#ffffff' } },\n 'parametre-metin': { genislik: 120, yukseklik: 30, stil: { fontSize: 14, color: '#ffffff' } },\n 'parametre-render': { genislik: 120, yukseklik: 30, stil: { fontSize: 14, color: '#ffffff' } },\n 'markdown': { icerik: '**Markdown**', genislik: 160, yukseklik: 60, stil: { fontSize: 14 } },\n 'sekil': { genislik: 80, yukseklik: 80, sekilTuru: 'dikdortgen', stil: { fill: '#e6f7ff', stroke: '#1890ff', strokeWidth: 1 } },\n 'resim': { genislik: 100, yukseklik: 100, resimUrl: '🖼' },\n 'buton': { icerik: 'Buton', genislik: 100, yukseklik: 36 },\n 'sayac': { genislik: 80, yukseklik: 50, deger: 42 },\n 'gauge': { genislik: 100, yukseklik: 100, deger: 65 },\n 'dijital-saat': { genislik: 120, yukseklik: 40 },\n 'analog-saat': { genislik: 100, yukseklik: 100 },\n 'durum-dot': { genislik: 24, yukseklik: 24, deger: 1 },\n 'led-gosterge': { genislik: 30, yukseklik: 30, deger: 1 },\n 'ilerleme-cubugu': { genislik: 160, yukseklik: 20, deger: 50 },\n 'ilerleme-halka': { genislik: 80, yukseklik: 80, deger: 65 },\n 'sparkline': { genislik: 120, yukseklik: 40, veriler: [10, 30, 20, 50, 40, 60] },\n 'bar-grafik': { genislik: 160, yukseklik: 100, veriler: [30, 50, 20, 70], etiketler: ['A', 'B', 'C', 'D'] },\n 'badge': { icerik: 'Yeni', genislik: 60, yukseklik: 24 },\n 'ticker': { icerik: 'Kayan metin', genislik: 200, yukseklik: 28 },\n 'toggle': { genislik: 80, yukseklik: 30 },\n 'slider': { genislik: 160, yukseklik: 30, deger: 50 },\n};\n\nexport function yeniSablonElement(tur: ElementTur, parcali?: Partial): ISablonElement {\n const varsayilan = ELEMENT_VARSAYILANLAR[tur];\n return {\n id: new FikoYTId().toString(),\n tur,\n x: 10,\n y: 10,\n genislik: 100,\n yukseklik: 30,\n gorunur: true,\n katman: 0,\n ...varsayilan,\n ...parcali,\n stil: { ...(varsayilan?.stil ?? {}), ...(parcali?.stil ?? {}) },\n };\n}\n\nexport function bosISablon(): ISablon {\n return {\n mod: 'hibrit',\n tur: 'kart',\n gorunur: true,\n arkaPlan: { tur: 'renk', deger: '#ffffff' },\n bolgeler: [\n { id: 'ust', yukseklik: 60 },\n { id: 'orta', yukseklik: 'auto' },\n { id: 'alt', yukseklik: 40 },\n ],\n elementler: [],\n };\n}\n\nexport const HAZIR_ARKAPLANLAR: { anahtar: string; baslik: string; arkaPlan: IArkaPlan }[] = [\n { anahtar: 'karanlik-mavi', baslik: 'Kurumsal', arkaPlan: { tur: 'gradient', deger: 'linear-gradient(135deg, #0f2027, #203a43, #2c5364)' } },\n { anahtar: 'neon-yesil', baslik: 'Teknoloji', arkaPlan: { tur: 'gradient', deger: 'linear-gradient(135deg, #0a0a0a, #1a3a1a, #00ff41)' } },\n { anahtar: 'sicak-turuncu', baslik: 'Enerji', arkaPlan: { tur: 'gradient', deger: 'linear-gradient(135deg, #f12711, #f5af19)' } },\n { anahtar: 'mor-pembe', baslik: 'Yaratıcı', arkaPlan: { tur: 'gradient', deger: 'linear-gradient(135deg, #7b2ff7, #ff2d95)' } },\n { anahtar: 'okyanus', baslik: 'Okyanus', arkaPlan: { tur: 'gradient', deger: 'linear-gradient(135deg, #0077b6, #00b4d8, #90e0ef)' } },\n { anahtar: 'gece', baslik: 'Gece', arkaPlan: { tur: 'gradient', deger: 'linear-gradient(135deg, #0d1b2a, #1b2838, #415a77)' } },\n { anahtar: 'gunbatimi', baslik: 'Günbatımı', arkaPlan: { tur: 'gradient', deger: 'linear-gradient(135deg, #ee9ca7, #ffdde1, #f6d365)' } },\n { anahtar: 'orman', baslik: 'Orman', arkaPlan: { tur: 'gradient', deger: 'linear-gradient(135deg, #134e5e, #2d6a4f, #52b788)' } },\n { anahtar: 'sade-beyaz', baslik: 'Minimal', arkaPlan: { tur: 'renk', deger: '#ffffff' } },\n { anahtar: 'koyu-gri', baslik: 'Karanlık', arkaPlan: { tur: 'renk', deger: '#1a1a2e' } },\n { anahtar: 'krem', baslik: 'Krem', arkaPlan: { tur: 'renk', deger: '#faf3e0' } },\n { anahtar: 'buz', baslik: 'Buz', arkaPlan: { tur: 'gradient', deger: 'linear-gradient(135deg, #e0eafc, #cfdef3)' } },\n];\n","import { ChangeDetectionStrategy, Component, input, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\nimport { ElementTur } from '../sablon-editoru/sablon.interface';\n\ninterface IPaletElement {\n tur: ElementTur;\n simge: string;\n isim: string;\n}\n\ninterface IPaletKategori {\n baslik: string;\n simge: string;\n acik: boolean;\n elemanlar: IPaletElement[];\n}\n\nconst KATEGORILER: IPaletKategori[] = [\n {\n baslik: 'Metin', simge: 'T', acik: true,\n elemanlar: [\n { tur: 'sabit-metin', simge: 'T', isim: 'Sabit' },\n { tur: 'parametre-metin', simge: '📝', isim: 'Param' },\n { tur: 'parametre-render', simge: '🔄', isim: 'Render' },\n { tur: 'markdown', simge: '📄', isim: 'Markdown' },\n ],\n },\n {\n baslik: 'Şekil & Medya', simge: '◻', acik: false,\n elemanlar: [\n { tur: 'sekil', simge: '◻', isim: 'Şekil' },\n { tur: 'resim', simge: '🖼', isim: 'Resim' },\n { tur: 'avatar', simge: '👤', isim: 'Avatar' },\n { tur: 'badge', simge: '🏷', isim: 'Badge' },\n { tur: 'qr-kod', simge: '📱', isim: 'QR Kod' },\n { tur: 'iframe', simge: '🌐', isim: 'iFrame' },\n { tur: 'lottie', simge: '✨', isim: 'Lottie' },\n ],\n },\n {\n baslik: 'Veri & Grafik', simge: '📊', acik: false,\n elemanlar: [\n { tur: 'sayac', simge: '🔢', isim: 'Sayaç' },\n { tur: 'gauge', simge: '⏱', isim: 'Gauge' },\n { tur: 'sparkline', simge: '📈', isim: 'Sparkline' },\n { tur: 'bar-grafik', simge: '📊', isim: 'Bar' },\n { tur: 'pasta-grafik', simge: '🥧', isim: 'Pasta' },\n { tur: 'alan-grafik', simge: '📉', isim: 'Alan' },\n { tur: 'radar-grafik', simge: '🎯', isim: 'Radar' },\n { tur: 'isi-haritasi', simge: '🌡', isim: 'Isı Haritası' },\n { tur: 'ilerleme-cubugu', simge: '▬', isim: 'İlerleme' },\n { tur: 'ilerleme-halka', simge: '⭕', isim: 'Halka' },\n { tur: 'seviye-cubugu', simge: '📶', isim: 'Seviye' },\n ],\n },\n {\n baslik: 'Zaman', simge: '🕐', acik: false,\n elemanlar: [\n { tur: 'dijital-saat', simge: '🕐', isim: 'Dijital' },\n { tur: 'analog-saat', simge: '⏰', isim: 'Analog' },\n { tur: 'countdown', simge: '⏳', isim: 'Geri Sayım' },\n { tur: 'kronometr', simge: '⏱', isim: 'Kronometre' },\n { tur: 'zaman-cizelgesi', simge: '📅', isim: 'Çizelge' },\n ],\n },\n {\n baslik: 'Durum', simge: '💡', acik: false,\n elemanlar: [\n { tur: 'durum-dot', simge: '🔴', isim: 'Durum Dot' },\n { tur: 'durum-kart', simge: '📋', isim: 'Durum Kart' },\n { tur: 'led-gosterge', simge: '💡', isim: 'LED' },\n { tur: 'trafik-isigi', simge: '🚦', isim: 'Trafik' },\n { tur: 'sinyal-cubugu', simge: '📶', isim: 'Sinyal' },\n ],\n },\n {\n baslik: 'Liste & Tablo', simge: '📋', acik: false,\n elemanlar: [\n { tur: 'liste-tekrar', simge: '📃', isim: 'Liste' },\n { tur: 'siralama-listesi', simge: '🏆', isim: 'Sıralama' },\n { tur: 'mini-tablo', simge: '📊', isim: 'Tablo' },\n { tur: 'kanban-sutun', simge: '📌', isim: 'Kanban' },\n { tur: 'ticker', simge: '📰', isim: 'Ticker' },\n ],\n },\n {\n baslik: 'Kontrol', simge: '⏯', acik: false,\n elemanlar: [\n { tur: 'buton', simge: '▶', isim: 'Buton' },\n { tur: 'toggle', simge: '🔘', isim: 'Toggle' },\n { tur: 'slider', simge: '🎚', isim: 'Slider' },\n { tur: 'tab-grup', simge: '📑', isim: 'Tab Grup' },\n ],\n },\n];\n\n@Component({\n selector: 'te-palet',\n standalone: true,\n imports: [CommonModule, NzTooltipModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n @for (kat of kategoriler; track kat.baslik) {\n
\n
\n {{ kat.simge }}\n @if (!darMod()) {\n {{ kat.baslik }}\n }\n ›\n
\n @if (kat.acik) {\n
\n @for (el of kat.elemanlar; track el.tur) {\n \n {{ el.simge }}\n @if (!darMod()) {\n {{ el.isim }}\n }\n
\n }\n
\n }\n
\n }\n \n `,\n styles: `\n :host { display: block; height: 100%; }\n .palet-kok {\n height: 100%;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 4px;\n &::-webkit-scrollbar { width: 4px; }\n &::-webkit-scrollbar-thumb { background: var(--te-scrollbar, rgba(0,0,0,.12)); border-radius: 2px; }\n }\n\n .kategori {\n &:not(:last-child) { border-bottom: 1px solid var(--te-border, rgba(0,0,0,.08)); }\n }\n\n .kategori-baslik {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 8px 6px;\n cursor: pointer;\n user-select: none;\n border-radius: 4px;\n transition: background .15s;\n &:hover { background: var(--te-hover, rgba(0,0,0,.04)); }\n }\n .kat-simge { font-size: 14px; flex-shrink: 0; width: 20px; text-align: center; }\n .kat-isim { font-size: 11px; font-weight: 500; color: var(--te-text-secondary, rgba(0,0,0,.6)); flex: 1; }\n .kat-ok {\n font-size: 12px; color: var(--te-text-muted, rgba(0,0,0,.3));\n transition: transform .2s;\n &.acik { transform: rotate(90deg); }\n }\n\n .eleman-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 3px;\n padding: 0 2px 6px;\n }\n .dar-grid { grid-template-columns: 1fr 1fr; }\n\n .eleman-tile {\n display: flex;\n align-items: center;\n gap: 5px;\n padding: 6px;\n border-radius: 4px;\n cursor: pointer;\n user-select: none;\n transition: background .15s, transform .1s;\n &:hover {\n background: var(--te-hover, rgba(0,0,0,.04));\n transform: scale(1.03);\n }\n &:active { transform: scale(.97); }\n }\n .el-simge { font-size: 14px; flex-shrink: 0; }\n .el-isim { font-size: 10px; color: var(--te-text-secondary, rgba(0,0,0,.6)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n\n .dar {\n .kategori-baslik { justify-content: center; padding: 6px 4px; }\n .kat-ok { display: none; }\n .eleman-tile { justify-content: center; padding: 5px 2px; }\n .dar-grid { grid-template-columns: 1fr 1fr; gap: 2px; padding: 0 1px 4px; }\n }\n\n :host-context(body.tema-karanlik) {\n --te-border: rgba(255,255,255,.06);\n --te-hover: rgba(255,255,255,.08);\n --te-scrollbar: rgba(255,255,255,.15);\n --te-text-secondary: rgba(255,255,255,.6);\n --te-text-muted: rgba(255,255,255,.3);\n }\n `,\n})\nexport class TePaletComponent {\n elementEklendi = output();\n darMod = input(false);\n kategoriler = KATEGORILER;\n}\n","import {\n ChangeDetectionStrategy, Component, computed, inject, input, NgZone,\n OnDestroy, OnInit, output, signal,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { FikoYTKokBilesenComponent } from '@service/kok-bilesen/kok-bilesen.component';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport { ISablon, ISablonElement } from '../sablon-editoru/sablon.interface';\nimport { PdksDurumService } from '@uygulamalar/hmi-pdks/services/pdks-durum.service';\nimport { HmiLookupService } from '@uygulamalar/hmi-pdks/pano/pages/personel/services/hmi-lookup.service';\n\nimport { SayacComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/sayac.component';\nimport { IlerlemeCubuguComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/ilerleme-cubugu.component';\nimport { IlerlemeHalkaComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/ilerleme-halka.component';\nimport { GaugeComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/gauge.component';\nimport { SparklineComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/sparkline.component';\nimport { BarGrafikComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/bar-grafik.component';\nimport { DurumDotComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/durum-dot.component';\nimport { LedGostergeComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/led-gosterge.component';\nimport { DijitalSaatComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/dijital-saat.component';\nimport { ButonComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/buton.component';\nimport { AlanGrafikComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/alan-grafik.component';\nimport { AnalogSaatComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/analog-saat.component';\nimport { AvatarComponent as WidgetAvatarComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/avatar.component';\nimport { BadgeComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/badge.component';\nimport { CountdownComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/countdown.component';\nimport { DurumKartComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/durum-kart.component';\nimport { HavaDurumuComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/hava-durumu.component';\nimport { IframeComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/iframe.component';\nimport { IsiHaritasiComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/isi-haritasi.component';\nimport { KanbanSutunComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/kanban-sutun.component';\nimport { KronometrComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/kronometr.component';\nimport { ListeTekrarComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/liste-tekrar.component';\nimport { LottieComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/lottie.component';\nimport { MarkdownComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/markdown.component';\nimport { MiniTabloComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/mini-tablo.component';\nimport { PastaGrafikComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/pasta-grafik.component';\nimport { QrKodComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/qr-kod.component';\nimport { RadarGrafikComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/radar-grafik.component';\nimport { SeviyeCubuguComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/seviye-cubugu.component';\nimport { SinyalCubuguComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/sinyal-cubugu.component';\nimport { SiralamaListesiComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/siralama-listesi.component';\nimport { SliderComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/slider.component';\nimport { TabGrupComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/tab-grup.component';\nimport { TickerComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/ticker.component';\nimport { ToggleComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/toggle.component';\nimport { TrafikIsigiComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/trafik-isigi.component';\nimport { ZamanCizelgesiComponent } from '@uygulamalar/hmi-pano/dashboard/widget-elementler/zaman-cizelgesi.component';\nimport { WidgetPersonelZetiComponent } from '@uygulamalar/hmi-pdks/dashboard/widget-elementler/personel-zeti.component';\nimport { WidgetMakineDurumComponent } from '@uygulamalar/hmi-pdks/dashboard/widget-elementler/makine-durum.component';\nimport { WidgetUretimVerisiComponent } from '@uygulamalar/hmi-pdks/dashboard/widget-elementler/uretim-verisi.component';\n\nconst WIDGET_IMPORTS = [\n CommonModule,\n SayacComponent, IlerlemeCubuguComponent, IlerlemeHalkaComponent, GaugeComponent,\n SparklineComponent, BarGrafikComponent, DurumDotComponent, LedGostergeComponent,\n DijitalSaatComponent, ButonComponent,\n AlanGrafikComponent, AnalogSaatComponent, WidgetAvatarComponent, BadgeComponent,\n CountdownComponent, DurumKartComponent, HavaDurumuComponent, IframeComponent,\n IsiHaritasiComponent, KanbanSutunComponent, KronometrComponent, ListeTekrarComponent,\n LottieComponent, MarkdownComponent, MiniTabloComponent, PastaGrafikComponent,\n QrKodComponent, RadarGrafikComponent, SeviyeCubuguComponent, SinyalCubuguComponent,\n SiralamaListesiComponent, SliderComponent, TabGrupComponent, TickerComponent,\n ToggleComponent, TrafikIsigiComponent, ZamanCizelgesiComponent,\n WidgetPersonelZetiComponent, WidgetMakineDurumComponent, WidgetUretimVerisiComponent,\n];\n\n@Component({\n selector: 'sablon-renderer',\n standalone: true,\n imports: WIDGET_IMPORTS,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: './sablon-renderer.component.less',\n template: `\n
\n @if (sablon()?.htmlModu && sablon()?.htmlIcerik) {\n
\n }\n @for (el of gorunurElementler(); track el.id) {\n
\n @switch (el.tur) {\n @case ('parametre-metin') {\n {{ parametreDeger(el.parametreAnahtari) }}\n }\n @case ('sabit-metin') {\n {{ el.icerik }}\n }\n @case ('sekil') {\n
\n }\n @case ('resim') {\n @if (emojiMi(el.resimUrl)) {\n {{ el.resimUrl }}\n } @else {\n \n }\n }\n @case ('parametre-render') {\n @if (parametreResimMi(el.parametreAnahtari)) {\n \n } @else {\n {{ parametreDeger(el.parametreAnahtari) }}\n }\n }\n @case ('sayac') {\n \n }\n @case ('ilerleme-cubugu') {\n \n }\n @case ('ilerleme-halka') {\n \n }\n @case ('gauge') {\n \n }\n @case ('sparkline') {\n \n }\n @case ('bar-grafik') {\n \n }\n @case ('durum-dot') {\n \n }\n @case ('led-gosterge') {\n \n }\n @case ('dijital-saat') {\n \n }\n @case ('buton') {\n \n }\n @case ('analog-saat') {\n \n }\n @case ('countdown') {\n \n }\n @case ('kronometr') {\n \n }\n @case ('pasta-grafik') {\n \n }\n @case ('alan-grafik') {\n \n }\n @case ('radar-grafik') {\n \n }\n @case ('isi-haritasi') {\n \n }\n @case ('seviye-cubugu') {\n \n }\n @case ('sinyal-cubugu') {\n \n }\n @case ('durum-kart') {\n \n }\n @case ('trafik-isigi') {\n \n }\n @case ('avatar') {\n \n }\n @case ('badge') {\n \n }\n @case ('ticker') {\n \n }\n @case ('qr-kod') {\n \n }\n @case ('hava-durumu') {\n \n }\n @case ('markdown') {\n \n }\n @case ('lottie') {\n \n }\n @case ('iframe') {\n \n }\n @case ('liste-tekrar') {\n \n }\n @case ('siralama-listesi') {\n \n }\n @case ('mini-tablo') {\n \n }\n @case ('kanban-sutun') {\n \n }\n @case ('zaman-cizelgesi') {\n \n }\n @case ('toggle') {\n \n }\n @case ('slider') {\n \n }\n @case ('tab-grup') {\n \n }\n @case ('personel-zeti') {\n \n }\n @case ('makine-durum') {\n \n }\n @case ('uretim-verisi') {\n \n }\n }\n
\n }\n
\n\n @if (sablon()?.itemler?.length) {\n
3\">\n @for (item of sablon()!.itemler; track item.id) {\n
\n @if (item['simge']) { {{ item['simge'] }} }\n @if (item['baslik']) { {{ item['baslik'] }} }\n
\n }\n
\n }\n `,\n})\nexport class SablonRendererComponent extends FikoYTKokBilesenComponent implements OnInit, OnDestroy {\n override sanitizer = inject(DomSanitizer);\n private zone = inject(NgZone);\n pdks = inject(PdksDurumService);\n lookup = inject(HmiLookupService);\n\n sablon = input();\n parametreDegerleri = input>({});\n duzenlenebilir = input(false);\n olaylarAktif = input(false);\n parametreTiklandi = output<{ parametreAnahtari: string; mevcutDeger: any }>();\n resimDegisti = output<{ parametreAnahtari: string; dosya: File; objectUrl: string }>();\n\n veri = signal(null);\n yukleniyor = signal(false);\n hoverEl: string | null = null;\n tiklaEl: string | null = null;\n\n veriParametreleri = computed(() => {\n const pDegerleri = this.parametreDegerleri();\n const v = this.veri();\n if (!v) return pDegerleri;\n const veriObj = typeof v === 'object' && !Array.isArray(v) ? v : { deger: v };\n return { ...veriObj, ...pDegerleri };\n });\n\n private _tiklaTimer: any;\n private pollingInterval: any;\n private soketTemizle: (() => void) | null = null;\n private readonly emojiRegex = /^[\\p{Emoji_Presentation}\\p{Extended_Pictographic}]+$/u;\n\n constructor() { super(); }\n\n ngOnInit() {\n if (this.sablon()?.veriKaynagi) {\n this.veriYukle();\n this.pollingKur();\n this.soketBagla();\n }\n }\n\n private async veriYukle() {\n const s = this.sablon();\n const vk = s?.veriKaynagi;\n if (!vk) return;\n this.yukleniyor.set(true);\n try {\n let sonuc: any = null;\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) pipeline = [{ $match: { vt: vk.vt } }];\n if (!pipeline) break;\n istek.parametreler = { aggregate: pipeline };\n await istek.isteSync();\n sonuc = istek.cevap?.sonuc;\n if (vk.donusumFunc) {\n try { sonuc = new Function('veri', 'sablon', vk.donusumFunc)(sonuc, s); } catch {}\n }\n break;\n }\n case 'sabit':\n sonuc = vk.sabitVeri ?? null;\n break;\n case 'soket':\n break;\n case 'hesaplama':\n if (vk.piFunc) {\n try { sonuc = new Function('veri', 'sablon', vk.piFunc)(null, s); } catch {}\n }\n break;\n }\n this.veri.set(sonuc);\n this.olayTetikle('yenilendi');\n } catch {} finally {\n this.yukleniyor.set(false);\n }\n }\n\n private soketBagla() {\n const s = this.sablon();\n const vk = s?.veriKaynagi;\n const olay = vk?.soketOlay || vk?.soketTetik;\n if (!olay) return;\n const io = (window as any).FikoYT?.io;\n if (!io?.on) return;\n\n const handler = (payload: any) => {\n if (vk!.soketFiltre) {\n const eslesiyor = Object.entries(vk!.soketFiltre).every(([k, v]) => payload?.[k] === v);\n if (!eslesiyor) return;\n }\n this.zone.run(() => {\n if (vk!.mod === 'soket' && vk!.soketOlay) {\n this.veri.set(payload);\n this.olayTetikle('yenilendi');\n } else {\n this.veriYukle();\n }\n });\n };\n\n io.on(olay, handler);\n this.soketTemizle = () => io.off(olay, handler);\n }\n\n private pollingKur() {\n const aralik = this.sablon()?.veriKaynagi?.yenilemeAraligi;\n if (!aralik || aralik <= 0) return;\n this.zone.runOutsideAngular(() => {\n this.pollingInterval = setInterval(() => {\n this.zone.run(() => this.veriYukle());\n }, aralik * 1000);\n });\n }\n\n olayTetikle(olayAdi: string) {\n if (!this.olaylarAktif()) return;\n const kod = this.sablon()?.olaylar?.[olayAdi];\n if (!kod) return;\n try {\n const fn = new Function('veri', 'sablon', 'router', 'bildirim', 'guncelle', kod);\n fn(this.veri(), this.sablon(), this.router, this.bildirimFn(), this.guncelleFn());\n } catch (e) {\n console.warn('Olay hatasi:', olayAdi, e);\n }\n }\n\n private bildirimFn(): (mesaj: string, tip?: string) => void {\n return (mesaj: string, tip: string = 'basarili') => {\n const tipMap: Record = { basarili: 'success', uyari: 'warning', hata: 'error' };\n this.nzNotification.create(tipMap[tip] || 'info', '', mesaj);\n };\n }\n\n private guncelleFn(): (veri: any) => void {\n return (yeniVeri: any) => {\n this.veri.set(yeniVeri);\n };\n }\n\n itemTiklandi(item: any) {\n if (!this.olaylarAktif()) return;\n const kod = item?.olaylar?.tiklanma;\n if (!kod) return;\n try {\n const fn = new Function('veri', 'sablon', 'router', 'bildirim', 'guncelle', kod);\n fn(item, this.sablon(), this.router, this.bildirimFn(), this.guncelleFn());\n } catch (e) {\n console.warn('Item olay hatasi:', item?.id, e);\n }\n }\n\n onHover(elId: string | null) {\n this.hoverEl = elId;\n this.CD.markForCheck();\n }\n\n onElementTikla(event: MouseEvent, el: ISablonElement) {\n if (this.duzenlenebilir() && (el.tur === 'parametre-metin' || el.tur === 'parametre-render') && el.parametreAnahtari) {\n event.stopPropagation();\n this.parametreTiklandi.emit({\n parametreAnahtari: el.parametreAnahtari,\n mevcutDeger: this.veriParametreleri()?.[el.parametreAnahtari],\n });\n return;\n }\n if (el.animasyon?.tiklama) this.onTikla(el.id);\n if (el.tiklanmaKodu && this.olaylarAktif()) {\n try {\n const fn = new Function('veri', 'el', 'router', 'bildirim', el.tiklanmaKodu);\n fn(this.veri(), el, this.router, this.bildirimFn());\n } catch {}\n }\n }\n\n htmlRender(): SafeHtml {\n const s = this.sablon();\n if (!s?.htmlIcerik) return '';\n let html = s.htmlIcerik;\n const mergedP = this.veriParametreleri();\n html = html.replace(/\\{\\{(\\w+)\\}\\}/g, (_, anahtar) => {\n const deger = mergedP?.[anahtar];\n if (deger == null) return '';\n return String(deger);\n });\n if (s.cssIcerik) {\n html = `${html}`;\n }\n if (s.jsIcerik && this.olaylarAktif()) {\n try {\n const fn = new Function('p', s.jsIcerik);\n fn(mergedP || {});\n } catch {}\n }\n return this.sanitizer.bypassSecurityTrustHtml(html);\n }\n\n onTikla(elId: string) {\n if (this._tiklaTimer) clearTimeout(this._tiklaTimer);\n this.tiklaEl = null;\n this.CD.markForCheck();\n setTimeout(() => {\n this.tiklaEl = elId;\n this.CD.markForCheck();\n this._tiklaTimer = setTimeout(() => {\n this.tiklaEl = null;\n this.CD.markForCheck();\n }, 700);\n });\n }\n\n containerStil(): Record {\n const s = this.sablon();\n if (!s) return {};\n const stil: Record = {\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n 'aspect-ratio': (s.genislik || 520) + ' / ' + (s.yukseklik || 300),\n 'border-radius': '8px',\n };\n if (s.arkaPlan) {\n const ap = s.arkaPlan;\n if (ap.tur === 'renk') stil['background-color'] = ap.deger;\n else stil['background'] = ap.deger;\n if (ap.tur === 'resim') {\n stil['background-image'] = `url(${ap.deger})`;\n stil['background-size'] = 'cover';\n stil['background-position'] = 'center';\n }\n }\n return stil;\n }\n\n elementStil(el: ISablonElement): Record {\n const s = this.sablon();\n const containerW = s?.genislik || 520;\n const containerH = s?.yukseklik || 300;\n const stil: Record = {\n position: 'absolute',\n left: el.x + '%',\n top: el.y + '%',\n display: 'flex',\n };\n if (el.genislik) stil['width'] = (el.genislik / containerW * 100) + '%';\n if (el.yukseklik) stil['height'] = (el.yukseklik / containerH * 100) + '%';\n if (el.katman != null) stil['z-index'] = '' + el.katman;\n if (el.stil?.opacity != null) stil['opacity'] = '' + el.stil.opacity;\n if (el.stil?.rotate) stil['transform'] = 'rotate(' + el.stil.rotate + 'deg)';\n const ta = el.stil?.textAlign ?? 'left';\n stil['justify-content'] = ta === 'center' ? 'center' : ta === 'right' ? 'flex-end' : 'flex-start';\n const va = el.stil?.verticalAlign ?? 'top';\n stil['align-items'] = va === 'center' ? 'center' : va === 'bottom' ? 'flex-end' : 'flex-start';\n return stil;\n }\n\n metinStil(el: ISablonElement): Record {\n const stil: Record = {};\n const s = el.stil;\n if (!s) return stil;\n if (s.fontSize) stil['font-size'] = s.fontSize + 'px';\n if (s.fontWeight) stil['font-weight'] = s.fontWeight;\n if (s.fontFamily) stil['font-family'] = s.fontFamily;\n if (s.color) stil['color'] = s.color;\n if (s.textAlign) stil['text-align'] = s.textAlign;\n if (s.letterSpacing) stil['letter-spacing'] = s.letterSpacing + 'px';\n if (s.lineHeight) stil['line-height'] = '' + s.lineHeight;\n if (s.shadow) stil['text-shadow'] = s.shadow;\n return stil;\n }\n\n sekilStil(el: ISablonElement): Record {\n const stil: Record = { width: '100%', height: '100%' };\n const s = el.stil;\n if (s?.fill) stil['background-color'] = s.fill;\n if (s?.stroke) stil['border'] = (s.strokeWidth ?? 1) + 'px solid ' + s.stroke;\n switch (el.sekilTuru) {\n case 'daire': stil['border-radius'] = '50%'; break;\n case 'dikdortgen': if (s?.borderRadius) stil['border-radius'] = s.borderRadius + 'px'; break;\n }\n return stil;\n }\n\n parametreDeger(anahtar: string | undefined): string {\n if (!anahtar) return '';\n const deger = this.veriParametreleri()?.[anahtar];\n if (deger == null) return '';\n if (typeof deger === 'boolean') return deger ? 'Evet' : 'Hayir';\n return '' + deger;\n }\n\n gorunurElementler(): ISablonElement[] {\n return (this.sablon()?.elementler ?? []).filter(e => e.gorunur !== false);\n }\n\n animasyonSiniflari(el: ISablonElement): string[] {\n const a = el.animasyon;\n if (!a) return [];\n const cls: string[] = [];\n if (a.giris) cls.push('sr-anim-giris-' + a.giris);\n if (a.surekli) cls.push('sr-anim-surekli-' + a.surekli);\n if (a.hover) cls.push('sr-anim-hover-' + a.hover);\n if (a.tiklama) cls.push('sr-anim-tikla-' + a.tiklama);\n return cls;\n }\n\n animasyonGecikme(el: ISablonElement): string {\n const a = el.animasyon;\n if (!a?.girisGecikme) return '';\n return a.girisGecikme + 'ms';\n }\n\n onResimTikla(event: MouseEvent, el: ISablonElement) {\n event.stopPropagation();\n const url = this.parametreResimUrl(el.parametreAnahtari);\n if (this.duzenlenebilir()) {\n const inp = document.createElement('input');\n inp.type = 'file';\n inp.accept = 'image/*';\n inp.onchange = () => {\n const dosya = inp.files?.[0];\n if (!dosya || !el.parametreAnahtari) return;\n const objectUrl = URL.createObjectURL(dosya);\n this.resimDegisti.emit({ parametreAnahtari: el.parametreAnahtari, dosya, objectUrl });\n this.CD.markForCheck();\n };\n inp.click();\n } else if (url) {\n window.open(url, '_blank');\n }\n }\n\n parametreResimMi(anahtar: string | undefined): boolean {\n if (!anahtar) return false;\n const deger = this.veriParametreleri()?.[anahtar];\n if (!deger) return false;\n if (typeof deger === 'string') return deger.startsWith('blob:') || deger.startsWith('data:') || deger.startsWith('http');\n return !!(deger?.objectUrl || deger?.url);\n }\n\n parametreResimUrl(anahtar: string | undefined): string {\n if (!anahtar) return '';\n const deger = this.veriParametreleri()?.[anahtar];\n if (!deger) return '';\n if (typeof deger === 'string') return deger;\n return deger?.objectUrl || deger?.url || '';\n }\n\n emojiMi(url: string | undefined): boolean {\n if (!url || url.length > 8) return false;\n return this.emojiRegex.test(url);\n }\n\n parametreDegerSayi(anahtar: string | undefined, varsayilan?: number): number {\n if (!anahtar) return varsayilan ?? 0;\n const deger = this.veriParametreleri()?.[anahtar];\n return typeof deger === 'number' ? deger : Number(deger) || (varsayilan ?? 0);\n }\n\n barGrafikVerileri(el: ISablonElement): { etiket: string; deger: number; renk?: string }[] {\n if (!el.veriler?.length) return [];\n return el.veriler.map((d, i) => ({\n etiket: el.etiketler?.[i] || '' + (i + 1),\n deger: d,\n renk: el.renk,\n }));\n }\n\n siralamaVerileri(el: ISablonElement): { sira: number; isim: string; deger: number; renk?: string }[] {\n if (!el.veriler?.length) return [];\n return (el.veriler as any[]).map((d, i) => ({\n sira: i + 1,\n isim: el.etiketler?.[i] || '' + (i + 1),\n deger: typeof d === 'number' ? d : Number(d) || 0,\n renk: el.renk,\n }));\n }\n\n durumDotTipi(el: ISablonElement): 'aktif' | 'uyari' | 'hata' | 'pasif' {\n const v = this.parametreDegerSayi(el.parametreAnahtari, el.deger);\n if (v >= 1) return 'aktif';\n if (v < 0) return 'hata';\n return 'pasif';\n }\n\n ledDurum(el: ISablonElement): 'acik' | 'kapali' | 'yanip-sonen' {\n const v = this.parametreDegerSayi(el.parametreAnahtari, el.deger);\n if (v >= 2) return 'yanip-sonen';\n if (v >= 1) return 'acik';\n return 'kapali';\n }\n\n trafikIsigiBelirle(el: ISablonElement): 'kirmizi' | 'sari' | 'yesil' {\n const v = this.parametreDegerSayi(el.parametreAnahtari, el.deger);\n if (v >= 2) return 'yesil';\n if (v >= 1) return 'sari';\n return 'kirmizi';\n }\n\n ngOnDestroy() {\n if (this.pollingInterval) {\n clearInterval(this.pollingInterval);\n this.pollingInterval = null;\n }\n this.soketTemizle?.();\n this.soketTemizle = null;\n super.ngOnDestroy();\n }\n}\n","import {\n ChangeDetectionStrategy, Component, ElementRef, inject, input, NgZone, output, viewChild,\n} from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\nimport { SablonRendererComponent } from '../sablon-renderer/sablon-renderer.component';\nimport { ISablon, ISablonElement } from '../sablon-editoru/sablon.interface';\n\n@Component({\n selector: 'te-canvas',\n standalone: true,\n imports: [CommonModule, NzIconModule, NzTooltipModule, SablonRendererComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n @if (seciliElementId()) {\n
\n \n \n \n \n |\n \n \n
\n }\n\n
\n \n \n\n
\n @for (el of sablon()?.elementler; track el.id) {\n
\n\n @if (el.id === seciliElementId()) {\n
\n
\n
\n
\n }\n
\n }\n
\n
\n
\n `,\n styles: `\n :host { display: flex; flex: 1; position: relative; overflow: hidden; }\n\n .tc-wrapper {\n flex: 1; display: flex; flex-direction: column; align-items: center;\n justify-content: center; background: var(--te-canvas-bg, rgba(0,0,0,0.04)); position: relative;\n padding: 16px;\n }\n\n .tc-arac-cubugu {\n position: absolute; top: 8px; left: 50%; transform: translateX(-50%);\n display: flex; gap: 4px; align-items: center;\n background: var(--te-toolbar-bg, #fff); padding: 4px 8px;\n box-shadow: 0 2px 8px rgba(0,0,0,0.12); border: 1px solid var(--te-toolbar-border, rgba(0,0,0,0.06));\n border-radius: 6px; font-size: 14px; z-index: 10;\n button {\n background: none; border: none; color: var(--te-toolbar-btn, rgba(0,0,0,0.55));\n cursor: pointer; padding: 4px 6px; display: inline-flex; align-items: center;\n border-radius: 4px; transition: all 0.15s;\n &:hover { color: var(--te-toolbar-btn-hover, rgba(0,0,0,0.85)); background: var(--te-hover, rgba(0,0,0,0.06)); }\n }\n .tc-ayirici { color: var(--te-text-muted, rgba(0,0,0,0.15)); margin: 0 2px; }\n }\n\n .tc-canvas {\n position: relative; width: 100%;\n aspect-ratio: 520 / 300;\n border-radius: 8px; overflow: visible;\n }\n\n sablon-renderer { position: absolute; inset: 0; z-index: 1; }\n\n .tc-drag-overlay { position: absolute; inset: 0; z-index: 5; pointer-events: none; }\n\n .tc-drag-handle {\n position: absolute; cursor: move; border: 1px dashed transparent; pointer-events: auto;\n transition: border-color 0.15s;\n &:hover { border-color: rgba(24,144,255,0.4); }\n &.secili { border: 2px solid #1890ff; }\n }\n\n .tc-resize-handle {\n position: absolute; width: 8px; height: 8px; background: #1890ff; border-radius: 1px;\n &.nw { top: -4px; left: -4px; cursor: nw-resize; }\n &.ne { top: -4px; right: -4px; cursor: ne-resize; }\n &.sw { bottom: -4px; left: -4px; cursor: sw-resize; }\n &.se { bottom: -4px; right: -4px; cursor: se-resize; }\n }\n\n :host-context(body.tema-karanlik) {\n --te-canvas-bg: rgba(0,0,0,0.2);\n --te-toolbar-bg: rgba(30,30,30,0.95);\n --te-toolbar-border: rgba(255,255,255,0.08);\n --te-toolbar-btn: rgba(255,255,255,0.6);\n --te-toolbar-btn-hover: #fff;\n --te-hover: rgba(255,255,255,0.1);\n --te-text-muted: rgba(255,255,255,0.15);\n }\n `,\n})\nexport class TeCanvasComponent {\n private ngZone = inject(NgZone);\n private elRef = inject(ElementRef);\n private canvasRef = viewChild('canvasRef');\n\n sablon = input();\n seciliElementId = input(null);\n parametreDegerleri = input>({});\n\n elementSecildi = output();\n elementGuncellendi = output<{ id: string; patch: Partial }>();\n elementSilindi = output();\n sablonGuncellendi = output>();\n\n sablonOrani(): string {\n const s = this.sablon();\n return (s?.genislik || 520) + \" / \" + (s?.yukseklik || 300);\n }\n\n elGenislikYuzde(el: ISablonElement): number {\n const s = this.sablon();\n return (el.genislik / (s?.genislik || 520)) * 100;\n }\n\n elYukseklikYuzde(el: ISablonElement): number {\n const s = this.sablon();\n return (el.yukseklik / (s?.yukseklik || 300)) * 100;\n }\n\n dragBasla(event: MouseEvent, element: ISablonElement) {\n event.stopPropagation();\n this.elementSecildi.emit(element.id);\n\n const canvasRect = this.canvasRef()?.nativeElement?.getBoundingClientRect();\n if (!canvasRect) return;\n\n const startX = event.clientX;\n const startY = event.clientY;\n const origX = element.x || 0;\n const origY = element.y || 0;\n\n this.ngZone.runOutsideAngular(() => {\n let rafId = 0;\n let newX = origX, newY = origY;\n const elGenPct = this.elGenislikYuzde(element);\n const elYukPct = this.elYukseklikYuzde(element);\n\n const onMove = (e: MouseEvent) => {\n const dx = ((e.clientX - startX) / canvasRect.width) * 100;\n const dy = ((e.clientY - startY) / canvasRect.height) * 100;\n newX = Math.max(0, Math.min(100 - elGenPct, origX + dx));\n newY = Math.max(0, Math.min(100 - elYukPct, origY + dy));\n cancelAnimationFrame(rafId);\n rafId = requestAnimationFrame(() => {\n const handle = this.elRef.nativeElement.querySelector(`[data-id=\"${element.id}\"]`);\n if (handle) { handle.style.left = newX + '%'; handle.style.top = newY + '%'; }\n });\n };\n\n const onUp = () => {\n document.removeEventListener('mousemove', onMove);\n document.removeEventListener('mouseup', onUp);\n cancelAnimationFrame(rafId);\n this.ngZone.run(() => {\n this.elementGuncellendi.emit({\n id: element.id,\n patch: { x: Math.round(newX * 10) / 10, y: Math.round(newY * 10) / 10 },\n });\n });\n };\n\n document.addEventListener('mousemove', onMove);\n document.addEventListener('mouseup', onUp);\n });\n }\n\n resizeBasla(event: MouseEvent, element: ISablonElement, kose: string) {\n event.stopPropagation();\n event.preventDefault();\n\n const canvasRect = this.canvasRef()?.nativeElement?.getBoundingClientRect();\n if (!canvasRect) return;\n\n const s = this.sablon();\n const sW = s?.genislik || 520;\n const sH = s?.yukseklik || 300;\n const startX = event.clientX;\n const startY = event.clientY;\n const origX = element.x || 0;\n const origY = element.y || 0;\n const origW = this.elGenislikYuzde(element);\n const origH = this.elYukseklikYuzde(element);\n const origWpx = element.genislik;\n const origHpx = element.yukseklik;\n\n this.ngZone.runOutsideAngular(() => {\n let rafId = 0;\n let curX = origX, curY = origY, curW = origW, curH = origH;\n let pxW = origWpx, pxH = origHpx;\n\n const onMove = (e: MouseEvent) => {\n const dxPct = ((e.clientX - startX) / canvasRect.width) * 100;\n const dyPct = ((e.clientY - startY) / canvasRect.height) * 100;\n\n curX = origX; curY = origY; curW = origW; curH = origH;\n\n if (kose.includes('e')) curW = Math.max(2, origW + dxPct);\n if (kose.includes('w')) { curW = Math.max(2, origW - dxPct); curX = origX + dxPct; }\n if (kose.includes('s')) curH = Math.max(2, origH + dyPct);\n if (kose.includes('n')) { curH = Math.max(2, origH - dyPct); curY = origY + dyPct; }\n\n pxW = Math.max(10, Math.round((curW / 100) * sW));\n pxH = Math.max(10, Math.round((curH / 100) * sH));\n\n cancelAnimationFrame(rafId);\n rafId = requestAnimationFrame(() => {\n const handle = this.elRef.nativeElement.querySelector(`[data-id=\"${element.id}\"]`);\n if (handle) {\n handle.style.left = curX + '%';\n handle.style.top = curY + '%';\n handle.style.width = curW + '%';\n handle.style.height = curH + '%';\n }\n });\n };\n\n const onUp = () => {\n document.removeEventListener('mousemove', onMove);\n document.removeEventListener('mouseup', onUp);\n cancelAnimationFrame(rafId);\n this.ngZone.run(() => {\n this.elementGuncellendi.emit({\n id: element.id,\n patch: {\n x: Math.round(curX * 10) / 10,\n y: Math.round(curY * 10) / 10,\n genislik: pxW,\n yukseklik: pxH,\n },\n });\n });\n };\n\n document.addEventListener('mousemove', onMove);\n document.addEventListener('mouseup', onUp);\n });\n }\n\n canvasTiklandi(event: MouseEvent) {\n const target = event.target as HTMLElement;\n if (target.classList.contains('tc-drag-overlay') || target.classList.contains('tc-canvas')) {\n this.elementSecildi.emit(null);\n }\n }\n\n elementTiklandi(event: MouseEvent, id: string) {\n event.stopPropagation();\n this.elementSecildi.emit(id);\n }\n\n seciliSil() {\n const id = this.seciliElementId();\n if (id) this.elementSilindi.emit(id);\n }\n\n kopyala() {\n const el = this.sablon()?.elementler?.find(e => e.id === this.seciliElementId());\n if (!el) return;\n const klon: ISablonElement = {\n ...el,\n id: crypto.randomUUID?.() || Date.now().toString(),\n x: (el.x || 0) + 5,\n y: (el.y || 0) + 5,\n };\n this.sablonGuncellendi.emit({ elementler: [...(this.sablon()?.elementler || []), klon] });\n }\n\n hizala(yon: 'sol' | 'sag' | 'ust' | 'alt') {\n const id = this.seciliElementId();\n if (!id) return;\n const el = this.sablon()?.elementler?.find(e => e.id === id);\n if (!el) return;\n const patch: Partial = {};\n switch (yon) {\n case 'sol': patch.x = 0; break;\n case 'sag': patch.x = 100 - this.elGenislikYuzde(el); break;\n case 'ust': patch.y = 0; break;\n case 'alt': patch.y = 100 - this.elYukseklikYuzde(el); break;\n }\n this.elementGuncellendi.emit({ id, patch });\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, input, output, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NzCodeEditorModule } from 'ng-zorro-antd/code-editor';\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\nimport { ISablon, ISablonOlaylar } from '../sablon-editoru/sablon.interface';\n\ninterface IOlayOneri {\n etiket: string;\n kod: string;\n}\n\nconst OLAY_ONERILERI: Record = {\n tiklanma: [\n { etiket: 'Yönlendirme', kod: \"router.navigate(['/path'])\" },\n { etiket: 'Bildirim', kod: \"bildirim('Mesaj')\" },\n { etiket: 'Güncelle', kod: 'guncelle({key: value})' },\n ],\n yenilendi: [\n { etiket: 'Eşik Kontrolü', kod: \"if (veri.x > 100) bildirim('Eşik aşıldı')\" },\n ],\n esikAsimi: [\n { etiket: 'Uyarı', kod: \"bildirim('Dikkat: ' + veri.deger)\" },\n ],\n ciftTiklama: [\n { etiket: 'Aç', kod: 'window.open(veri.url)' },\n ],\n};\n\nconst OLAY_TURLERI: { key: string; baslik: string }[] = [\n { key: 'tiklanma', baslik: 'Tıklanma' },\n { key: 'yenilendi', baslik: 'Yenilendiğinde' },\n { key: 'esikAsimi', baslik: 'Eşik Aşımı' },\n { key: 'ciftTiklama', baslik: 'Çift Tıklama' },\n];\n\n@Component({\n selector: 'te-kod-paneli',\n standalone: true,\n imports: [CommonModule, FormsModule, NzCodeEditorModule, NzTabsModule, NzButtonModule, NzIconModule, NzSelectModule, NzTooltipModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n \n\n \n HTML\n
\n \n \n
\n
\n\n \n CSS\n
\n \n \n
\n
\n\n \n JS\n
\n \n \n
\n
\n\n \n Olaylar\n
\n @for (olay of olayTurleri; track olay.key) {\n
\n
{{ olay.baslik }}
\n
\n @for (oneri of olayOnerileri[olay.key]; track oneri.etiket) {\n \n }\n
\n
\n \n \n
\n
\n }\n
\n
\n \n\n \n
\n `,\n styles: `\n :host {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n .kod-paneli {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--te-kod-bg, rgba(0, 0, 0, 0.03));\n border-radius: 6px;\n overflow: hidden;\n position: relative;\n }\n\n :host ::ng-deep .ant-tabs {\n display: flex;\n flex-direction: column;\n height: 100%;\n }\n\n :host ::ng-deep .ant-tabs-nav {\n margin: 0;\n padding: 0 8px;\n background: var(--te-kod-nav-bg, rgba(0, 0, 0, 0.04));\n }\n\n :host ::ng-deep .ant-tabs-tab {\n padding: 6px 12px !important;\n font-size: 12px;\n color: var(--te-text-secondary, rgba(0, 0, 0, 0.55));\n border: none !important;\n background: transparent !important;\n transition: color 0.2s;\n }\n\n :host ::ng-deep .ant-tabs-tab-active .ant-tabs-tab-btn {\n color: #1890ff !important;\n }\n\n :host ::ng-deep .ant-tabs-tab-active {\n border-bottom: 2px solid #1890ff !important;\n }\n\n :host ::ng-deep .ant-tabs-content-holder,\n :host ::ng-deep .ant-tabs-content,\n :host ::ng-deep .ant-tabs-tabpane {\n height: 100%;\n flex: 1;\n min-height: 0;\n }\n\n :host ::ng-deep .ant-tabs-ink-bar { background: #1890ff; }\n\n .editor-sarmal { height: 100%; overflow: hidden; }\n .editor-sarmal nz-code-editor { height: 100%; }\n .olaylar-sarmal { height: 100%; overflow-y: auto; padding: 8px; }\n .olay-bolum { margin-bottom: 16px; }\n\n .olay-baslik {\n font-size: 12px;\n font-weight: 600;\n color: var(--py-metin, rgba(0, 0, 0, 0.85));\n margin-bottom: 6px;\n padding: 4px 8px;\n background: var(--te-hover, rgba(0, 0, 0, 0.04));\n border-radius: 4px;\n }\n\n .olay-onerileri { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 6px; }\n\n .olay-onerileri button {\n font-size: 11px;\n color: var(--te-text-secondary, rgba(0, 0, 0, 0.45));\n border-color: var(--te-border, rgba(0, 0, 0, 0.12));\n }\n\n .olay-onerileri button:hover { color: #1890ff; border-color: #1890ff; }\n\n .olay-editor { height: 180px; border-radius: 4px; overflow: hidden; }\n .olay-editor nz-code-editor { height: 100%; }\n\n .kucult-btn {\n position: absolute;\n bottom: 4px;\n right: 4px;\n color: var(--te-text-muted, rgba(0, 0, 0, 0.35));\n z-index: 5;\n }\n\n .kucult-btn:hover {\n color: var(--te-text-secondary, rgba(0, 0, 0, 0.65));\n }\n\n :host-context(body.tema-karanlik) {\n --te-kod-bg: rgba(0, 0, 0, 0.3);\n --te-kod-nav-bg: rgba(0, 0, 0, 0.2);\n --te-text-secondary: rgba(255, 255, 255, 0.6);\n --te-text-muted: rgba(255, 255, 255, 0.4);\n --te-hover: rgba(255, 255, 255, 0.06);\n --te-border: rgba(255, 255, 255, 0.15);\n }\n `,\n})\nexport class TeKodPaneliComponent {\n sablon = input();\n kucuk = input(false);\n aktifTab = signal<'html' | 'css' | 'js' | 'olaylar'>('html');\n\n htmlDegisti = output();\n cssDegisti = output();\n jsDegisti = output();\n olaylarDegisti = output();\n kucultTiklandi = output();\n\n olayTurleri = OLAY_TURLERI;\n olayOnerileri = OLAY_ONERILERI;\n\n private tabSirasi: ('html' | 'css' | 'js' | 'olaylar')[] = ['html', 'css', 'js', 'olaylar'];\n\n tabIndex = computed(() => this.tabSirasi.indexOf(this.aktifTab()));\n\n private get editorTema(): string {\n return document.body.classList.contains('tema-karanlik') ? 'vs-dark' : 'vs';\n }\n\n private get editorTemelSecenekler() {\n return {\n theme: this.editorTema,\n minimap: { enabled: false },\n lineNumbers: 'on' as const,\n scrollBeyondLastLine: false,\n automaticLayout: true,\n fontSize: 13,\n tabSize: 2,\n };\n }\n\n get htmlOptions() { return { ...this.editorTemelSecenekler, language: 'html' }; }\n get cssOptions() { return { ...this.editorTemelSecenekler, language: 'css' }; }\n get jsOptions() { return { ...this.editorTemelSecenekler, language: 'javascript' }; }\n\n tabDegisti(index: number) {\n this.aktifTab.set(this.tabSirasi[index]);\n }\n\n olayDegeri(key: string): string {\n return this.sablon()?.olaylar?.[key] ?? '';\n }\n\n olayKoduDegisti(key: string, kod: string) {\n const mevcut = this.sablon()?.olaylar ?? {};\n this.olaylarDegisti.emit({ ...mevcut, [key]: kod });\n }\n\n oneriEkle(key: string, kod: string) {\n const mevcut = this.olayDegeri(key);\n const yeni = mevcut ? mevcut + '\\n' + kod : kod;\n this.olayKoduDegisti(key, yeni);\n }\n}\n","import { Component, ChangeDetectionStrategy, input, output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSliderModule } from 'ng-zorro-antd/slider';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzColorPickerModule } from 'ng-zorro-antd/color-picker';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzSegmentedModule } from 'ng-zorro-antd/segmented';\nimport {\n ISablon, ISablonElement, ISablonGorunumStil, IArkaPlan, HAZIR_ARKAPLANLAR,\n} from '../sablon-editoru/sablon.interface';\n\ntype ISablonArkaPlan = IArkaPlan;\n\nconst TEMALAR: { anahtar: string; baslik: string; stil: Partial }[] = [\n { anahtar: 'koyu', baslik: 'Koyu', stil: { gradyan: 'linear-gradient(135deg, #0d1b2a, #1e293b)', renkYazi: '#e0e7ff', arkaPlan: '#0f172a', golge: '0 4px 16px rgba(0,0,0,0.4)' } },\n { anahtar: 'acik', baslik: 'Acik', stil: { gradyan: 'linear-gradient(135deg, #ffffff, #f5f7fa)', renkYazi: '#262626', arkaPlan: '#ffffff', golge: '0 2px 8px rgba(0,0,0,0.08)' } },\n { anahtar: 'okyanus', baslik: 'Okyanus', stil: { gradyan: 'linear-gradient(135deg, #0077b6, #00b4d8, #90e0ef)', renkYazi: '#ffffff', arkaPlan: '#0077b6', golge: '0 4px 16px rgba(0,119,182,0.3)' } },\n { anahtar: 'orman', baslik: 'Orman', stil: { gradyan: 'linear-gradient(135deg, #064e3b, #065f46, #10b981)', renkYazi: '#ffffff', arkaPlan: '#064e3b', golge: '0 4px 16px rgba(16,185,129,0.3)' } },\n { anahtar: 'gunbatimi', baslik: 'Gun Batimi', stil: { gradyan: 'linear-gradient(135deg, #f12711, #f5af19)', renkYazi: '#ffffff', arkaPlan: '#f12711', golge: '0 4px 16px rgba(241,39,17,0.3)' } },\n { anahtar: 'gul', baslik: 'Gul', stil: { gradyan: 'linear-gradient(135deg, #fbc2eb, #a6c1ee)', renkYazi: '#4a1942', arkaPlan: '#fbc2eb', golge: '0 4px 16px rgba(251,194,235,0.4)' } },\n];\n\nconst GOLGELER: { baslik: string; deger: string }[] = [\n { baslik: 'Yok', deger: '' },\n { baslik: 'Hafif', deger: '0 2px 8px rgba(0,0,0,0.15)' },\n { baslik: 'Orta', deger: '0 4px 16px rgba(0,0,0,0.25)' },\n { baslik: 'Guclu', deger: '0 8px 32px rgba(0,0,0,0.4)' },\n { baslik: 'Neon Mavi', deger: '0 0 20px rgba(24,144,255,0.3)' },\n { baslik: 'Neon Yesil', deger: '0 0 20px rgba(82,196,26,0.3)' },\n { baslik: 'Neon Kirmizi', deger: '0 0 20px rgba(245,34,45,0.3)' },\n];\n\n@Component({\n selector: 'te-stil-paneli',\n standalone: true,\n imports: [\n CommonModule, FormsModule,\n NzInputModule, NzSliderModule, NzSelectModule,\n NzInputNumberModule, NzColorPickerModule, NzButtonModule, NzSegmentedModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @if (seciliElement(); as el) {\n
\n
Boyut
\n
\n
\n G (%)\n \n
\n
\n Y (%)\n \n
\n
\n
\n\n
\n
Pozisyon
\n
\n
\n X (%)\n \n
\n
\n Y (%)\n \n
\n
\n
\n\n @if (metinTuru(el)) {\n
\n
Yazi
\n
\n
\n Boyut (px)\n \n
\n
\n Kalinlik\n \n \n \n \n \n \n \n \n \n
\n
\n
\n Font Ailesi\n \n
\n
\n Renk\n
\n \n \n
\n
\n
\n
\n Harf Araligi\n \n
\n
\n Satir Yuksekligi\n \n
\n
\n
\n }\n\n @if (el.tur === 'sekil') {\n
\n
Sekil
\n
\n Dolgu\n
\n \n \n
\n
\n
\n Cizgi Rengi\n
\n \n \n
\n
\n
\n
\n Cizgi Kalinligi\n \n
\n
\n Kose Yuvarlak\n \n
\n
\n
\n Saydamlik\n \n
\n
\n }\n\n
\n
Animasyon
\n
\n Giris\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n Surekli\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n Hover\n \n \n \n \n \n \n \n \n
\n
\n Tiklama\n \n \n \n \n \n \n \n \n \n
\n @if (el.animasyon?.giris) {\n
\n Giris Gecikme (ms)\n \n
\n }\n @if (el.animasyon?.surekli) {\n
\n Surekli Sure (ms)\n \n
\n }\n
\n\n
\n
Hizalama
\n
\n \n \n \n \n \n \n
\n
\n \n \n
\n
\n\n
\n
Katman
\n
\n \n
\n
\n\n } @else {\n @if (sablon(); as s) {\n
\n
Arkaplan
\n
\n @for (ap of hazirArkaplanlar; track ap.anahtar) {\n
\n
\n }\n
\n
\n Ozel Renk\n
\n \n \n
\n
\n
\n\n
\n
Tema
\n
\n @for (t of temalar; track t.anahtar) {\n \n }\n
\n
\n\n
\n
Golge
\n
\n @for (g of golgeler; track g.baslik) {\n \n }\n
\n
\n\n
\n
Kose Yuvarlak
\n \n
\n }\n }\n `,\n styles: `\n :host {\n display: block;\n padding: 10px;\n overflow-y: auto;\n font-size: 12px;\n }\n .sp-bolum { margin-bottom: 14px; }\n .sp-baslik {\n font-size: 9px;\n text-transform: uppercase;\n letter-spacing: 1px;\n color: var(--te-label, rgba(0,0,0,0.45));\n margin-bottom: 6px;\n font-weight: 600;\n }\n .sp-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }\n .sp-alan { margin-bottom: 6px; }\n .sp-alan nz-input-number, .sp-alan nz-select, .sp-alan input[nz-input] { width: 100%; }\n .sp-etiket {\n display: block;\n font-size: 10px;\n color: var(--te-text-secondary, rgba(0,0,0,0.5));\n margin-bottom: 2px;\n }\n .sp-renk-satir { display: flex; align-items: center; gap: 6px; }\n .sp-renk-input { flex: 1; }\n .sp-hiza-satir { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 4px; }\n .sp-hiza-satir button { font-size: 10px; padding: 0 6px; height: 24px; }\n .sp-arkaplan-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-bottom: 8px; }\n .sp-arkaplan-tile {\n height: 32px; border-radius: 4px; cursor: pointer;\n border: 2px solid transparent;\n transition: border-color 0.15s, transform 0.15s;\n }\n .sp-arkaplan-tile:hover { transform: scale(1.08); }\n .sp-arkaplan-tile.aktif { border-color: #1890ff; }\n .sp-tema-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }\n .sp-tema-btn {\n display: flex; flex-direction: column; align-items: center; gap: 3px;\n padding: 6px 4px;\n border: 1px solid var(--te-btn-border, rgba(0,0,0,0.12));\n border-radius: 6px;\n background: var(--te-btn-bg, rgba(0,0,0,0.03));\n color: var(--te-text-secondary, rgba(0,0,0,0.55));\n cursor: pointer; font-size: 10px;\n transition: background 0.15s, border-color 0.15s;\n }\n .sp-tema-btn:hover {\n background: var(--te-btn-bg-hover, rgba(0,0,0,0.06));\n border-color: var(--te-btn-border-hover, rgba(0,0,0,0.2));\n }\n .sp-tema-onizleme { width: 100%; height: 18px; border-radius: 3px; }\n .sp-golge-grid { display: flex; flex-wrap: wrap; gap: 4px; }\n .sp-golge-btn {\n padding: 3px 8px;\n border: 1px solid var(--te-btn-border, rgba(0,0,0,0.12));\n border-radius: 4px;\n background: var(--te-btn-bg, rgba(0,0,0,0.03));\n color: var(--te-text-secondary, rgba(0,0,0,0.55));\n cursor: pointer; font-size: 10px;\n transition: background 0.15s, border-color 0.15s;\n }\n .sp-golge-btn:hover { background: var(--te-btn-bg-hover, rgba(0,0,0,0.06)); }\n .sp-golge-btn.aktif { border-color: #1890ff; background: rgba(24,144,255,0.12); }\n\n :host-context(body.tema-karanlik) {\n --te-label: rgba(255,255,255,0.45);\n --te-text-secondary: rgba(255,255,255,0.6);\n --te-btn-border: rgba(255,255,255,0.1);\n --te-btn-bg: rgba(255,255,255,0.04);\n --te-btn-bg-hover: rgba(255,255,255,0.08);\n --te-btn-border-hover: rgba(255,255,255,0.2);\n }\n `,\n})\nexport class TeStilPaneliComponent {\n seciliElement = input(null);\n sablon = input();\n\n elementGuncellendi = output>();\n sablonStilGuncellendi = output>();\n sablonArkaPlanGuncellendi = output>();\n\n readonly hazirArkaplanlar = HAZIR_ARKAPLANLAR;\n readonly temalar = TEMALAR;\n readonly golgeler = GOLGELER;\n\n metinTuru(el: ISablonElement): boolean {\n return el.tur === 'sabit-metin' || el.tur === 'parametre-metin'\n || el.tur === 'parametre-render' || el.tur === 'markdown';\n }\n\n elGuncelle(degisiklik: Partial) {\n this.elementGuncellendi.emit(degisiklik);\n }\n\n stilGuncelle(key: string, value: any) {\n const el = this.seciliElement();\n if (!el) return;\n this.elementGuncellendi.emit({ stil: { ...el.stil, [key]: value } });\n }\n\n animGuncelle(alan: string, deger: any) {\n const el = this.seciliElement();\n if (!el) return;\n const animasyon = { ...(el.animasyon ?? {}) } as any;\n if (deger == null) {\n delete animasyon[alan];\n } else {\n animasyon[alan] = deger;\n }\n this.elementGuncellendi.emit({\n animasyon: Object.keys(animasyon).length ? animasyon : undefined,\n });\n }\n\n hizala(yon: string) {\n const degisiklikler: Partial = {};\n switch (yon) {\n case 'sol': degisiklikler.x = 0; break;\n case 'sag': degisiklikler.x = 100; break;\n case 'ust': degisiklikler.y = 0; break;\n case 'alt': degisiklikler.y = 100; break;\n case 'yatayOrta': degisiklikler.x = 50; break;\n case 'dikeyOrta': degisiklikler.y = 50; break;\n }\n this.elementGuncellendi.emit(degisiklikler);\n }\n\n sigdir(mod: string) {\n switch (mod) {\n case 'yatay': this.elementGuncellendi.emit({ x: 0, genislik: 100 }); break;\n case 'dikey': this.elementGuncellendi.emit({ y: 0, yukseklik: 100 }); break;\n }\n }\n\n arkaPlanSec(ap: IArkaPlan) {\n this.sablonArkaPlanGuncellendi.emit(ap);\n }\n\n temaUygula(t: typeof TEMALAR[0]) {\n this.sablonStilGuncellendi.emit(t.stil);\n }\n}\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, inject, input, output, signal } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NzSelectModule } from 'ng-zorro-antd/select';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzSliderModule } from 'ng-zorro-antd/slider';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzCodeEditorModule } from 'ng-zorro-antd/code-editor';\nimport { NzCollapseModule } from 'ng-zorro-antd/collapse';\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\nimport { NzModalModule } from 'ng-zorro-antd/modal';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { CdkDragDrop, CdkDrag, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { FikoYTId } from '@/src/service/fikoyt-ui/helpers/FikoYTId';\nimport type { ISablon, ISablonVeriKaynagi, ISablonItem, ISablonOlaylar } from '../sablon-editoru/sablon.interface';\n\ninterface IBilesenPreset {\n id: string;\n simge: string;\n baslik: string;\n aciklama: string;\n varsayilan: Partial;\n}\n\ninterface IBilesenKategori {\n kategori: string;\n bilesenler: IBilesenPreset[];\n}\n\nconst VERI_MOD_BILGI: Record = {\n aggregate: { simge: '📊', etiket: 'Aggregate', aciklama: 'MongoDB aggregate pipeline ile veri çek' },\n sabit: { simge: '📄', etiket: 'Sabit', aciklama: 'Sabit JSON veri kullan' },\n soket: { simge: '🔌', etiket: 'Socket.IO', aciklama: 'Socket.IO event dinle (gerçek zamanlı)' },\n hesaplama: { simge: '🧮', etiket: 'Hesaplama', aciklama: 'JavaScript fonksiyonu ile hesapla' },\n};\n\nconst BILESEN_KUTUPHANESI: IBilesenKategori[] = [\n {\n kategori: 'Navigasyon',\n bilesenler: [\n { id: 'nav-sayfa', simge: '📄', baslik: 'Sayfa Linki', aciklama: 'Bir sayfaya yönlendir', varsayilan: { olaylar: { tiklanma: \"router.navigate(['/path'])\" } } },\n { id: 'nav-url', simge: '🔗', baslik: 'Dış Link', aciklama: 'Harici URL aç', varsayilan: { olaylar: { tiklanma: \"window.open('https://example.com', '_blank')\" } } },\n { id: 'nav-geri', simge: '←', baslik: 'Geri', aciklama: 'Önceki sayfaya dön', varsayilan: { olaylar: { tiklanma: 'history.back()' } } },\n { id: 'nav-modal', simge: '📦', baslik: 'Modal Aç', aciklama: 'Modal pencere aç', varsayilan: { olaylar: { tiklanma: \"bildirim('Modal açıldı')\" } } },\n ],\n },\n {\n kategori: 'Veri Gösterim',\n bilesenler: [\n { id: 'veri-sayac', simge: '🔢', baslik: 'Sayaç', aciklama: 'Büyük sayı göster', varsayilan: { veriKaynagi: { mod: 'sabit', sabitVeri: { deger: 42 } } } },\n { id: 'veri-ilerleme', simge: '📊', baslik: 'İlerleme', aciklama: 'Yüzde ilerleme', varsayilan: { veriKaynagi: { mod: 'sabit', sabitVeri: { yuzde: 65 } } } },\n { id: 'veri-durum', simge: '🔴', baslik: 'Durum', aciklama: 'Açık/Kapalı durumu', varsayilan: {} },\n { id: 'veri-badge', simge: '🏷', baslik: 'Badge', aciklama: 'Etiket rozeti', varsayilan: {} },\n ],\n },\n {\n kategori: 'Aksiyon',\n bilesenler: [\n { id: 'aks-buton', simge: '▶', baslik: 'Buton', aciklama: 'Tıklanabilir buton', varsayilan: { olaylar: { tiklanma: \"bildirim('Tıklandı!', 'basarili')\" } } },\n { id: 'aks-toggle', simge: '🔘', baslik: 'Toggle', aciklama: 'Açma/kapama anahtarı', varsayilan: {} },\n { id: 'aks-bildirim', simge: '🔔', baslik: 'Bildirim', aciklama: 'Bildirim tetikle', varsayilan: { olaylar: { tiklanma: \"bildirim('Yeni bildirim!', 'uyari')\" } } },\n { id: 'aks-yenile', simge: '🔄', baslik: 'Yenile', aciklama: 'Veriyi yenile', varsayilan: { olaylar: { tiklanma: 'yenile()' } } },\n ],\n },\n {\n kategori: 'Medya',\n bilesenler: [\n { id: 'med-resim', simge: '🖼', baslik: 'Resim', aciklama: 'Resim göster', varsayilan: {} },\n { id: 'med-avatar', simge: '👤', baslik: 'Avatar', aciklama: 'Kullanıcı avatarı', varsayilan: {} },\n { id: 'med-emoji', simge: '😀', baslik: 'Emoji', aciklama: 'Emoji göster', varsayilan: {} },\n { id: 'med-ikon', simge: '⭐', baslik: 'İkon', aciklama: 'İkon göster', varsayilan: {} },\n ],\n },\n {\n kategori: 'Parametreler',\n bilesenler: [\n { id: 'prm-metin', simge: '📝', baslik: 'Metin', aciklama: 'Metin parametresi', varsayilan: {} },\n { id: 'prm-sayi', simge: '🔢', baslik: 'Sayı', aciklama: 'Sayısal parametre', varsayilan: {} },\n { id: 'prm-secenek', simge: '📋', baslik: 'Seçenek', aciklama: 'Seçim listesi', varsayilan: {} },\n { id: 'prm-tarih', simge: '📅', baslik: 'Tarih', aciklama: 'Tarih parametresi', varsayilan: {} },\n ],\n },\n];\n\nconst OLAY_SABLONLAR: Record = {\n tiklanma: [\n { baslik: 'Yönlendirme', sablon: \"router.navigate(['/path'])\" },\n { baslik: 'Bildirim', sablon: \"bildirim('Mesaj', 'basarili')\" },\n { baslik: 'Güncelle', sablon: 'guncelle({key: value})' },\n { baslik: 'Harici URL', sablon: \"window.open('https://example.com', '_blank')\" },\n { baslik: 'Veriyi logla', sablon: \"console.log('veri:', veri)\" },\n ],\n yenilendi: [\n { baslik: 'Eşik kontrol', sablon: \"if (veri?.sayi > 100) bildirim('Eşik aşıldı')\" },\n { baslik: 'Başlığa yaz', sablon: \"guncelle({ baslik: 'Toplam: ' + (veri?.sayi || 0) })\" },\n ],\n esikAsimi: [\n { baslik: 'Uyarı', sablon: \"bildirim('Dikkat: ' + JSON.stringify(veri), 'hata')\" },\n ],\n ciftTiklama: [\n { baslik: 'Detay aç', sablon: \"router.navigate(['/detay/' + veri?.id])\" },\n { baslik: 'Kopyala', sablon: \"navigator.clipboard.writeText(JSON.stringify(veri, null, 2))\" },\n ],\n};\n\n@Component({\n selector: 'te-veri-paneli',\n standalone: true,\n imports: [\n CommonModule, FormsModule,\n NzSelectModule, NzInputModule, NzSliderModule,\n NzButtonModule, NzCodeEditorModule, NzCollapseModule,\n NzInputNumberModule, NzTooltipModule, NzPopconfirmModule,\n NzModalModule, NzIconModule,\n CdkDrag, CdkDropList,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n
\n\n
\n
Veri Kaynağı
\n\n
\n @for (mod of modListesi; track mod) {\n \n }\n
\n
{{ veriModBilgi[seciliMod()].aciklama }}
\n\n @switch (seciliMod()) {\n @case ('aggregate') {\n
\n \n \n
\n
\n \n
\n
{{ pipelineStr() | slice:0:120 }}{{ (pipelineStr()?.length || 0) > 120 ? '...' : '' }}
\n \n
\n
\n
\n \n
\n
{{ vkDonusumFunc() | slice:0:120 }}{{ (vkDonusumFunc()?.length || 0) > 120 ? '...' : '' }}
\n \n
\n
Parametreler: veri, sablon
\n
\n
\n \n \n
\n }\n @case ('sabit') {\n
\n \n
\n
{{ sabitVeriStr() | slice:0:120 }}{{ (sabitVeriStr()?.length || 0) > 120 ? '...' : '' }}
\n \n
\n
\n }\n @case ('soket') {\n
\n \n \n
\n
\n \n
\n
{{ soketFiltreStr() | slice:0:120 }}{{ (soketFiltreStr()?.length || 0) > 120 ? '...' : '' }}
\n \n
\n
\n }\n @case ('hesaplama') {\n
\n \n
\n
{{ vkPiFunc() | slice:0:120 }}{{ (vkPiFunc()?.length || 0) > 120 ? '...' : '' }}
\n \n
\n
Parametreler: veri, sablon · Dönüş: JSON obje
\n
\n }\n }\n\n
\n \n \n
\n\n \n
\n\n
\n
İtemler
\n\n
\n @for (kat of bilesenKutuphanesi; track kat.kategori) {\n
\n {{ kat.kategori }}\n
\n @for (b of kat.bilesenler; track b.id) {\n \n }\n
\n
\n }\n
\n\n
\n {{ mevcutItemler().length }} item\n \n
\n\n @if (mevcutItemler().length) {\n
\n @for (item of mevcutItemler(); track item.id; let i = $index) {\n
\n
\n ⠿\n {{ item['simge'] || '📦' }}\n {{ item['baslik'] || 'İtem ' + (i + 1) }}\n \n \n \n
\n\n @if (seciliItemIdx() === i) {\n
\n
\n
Genel
\n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n \n \n
\n
\n\n
\n
Tasarım
\n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n\n
\n
Veri Kaynağı
\n
\n \n \n \n \n \n \n \n
\n @if (item.veriKaynagi?.mod === 'sabit') {\n
\n \n
\n
{{ (item['_sabitVeriStr'] || '') | slice:0:80 }}{{ (item['_sabitVeriStr']?.length || 0) > 80 ? '...' : '' }}
\n \n
\n
\n }\n @if (item.veriKaynagi?.mod === 'aggregate') {\n
\n \n \n
\n
\n \n
\n
{{ (item['_pipelineStr'] || '') | slice:0:80 }}{{ (item['_pipelineStr']?.length || 0) > 80 ? '...' : '' }}
\n \n
\n
\n }\n @if (item.veriKaynagi?.mod === 'hesaplama') {\n
\n \n
\n
{{ (item.veriKaynagi?.piFunc || '') | slice:0:80 }}{{ (item.veriKaynagi?.piFunc?.length || 0) > 80 ? '...' : '' }}
\n \n
\n
\n }\n @if (item.veriKaynagi?.mod === 'soket') {\n
\n \n \n
\n }\n
\n\n
\n
Olaylar
\n @for (olay of olayTurleri; track olay) {\n
\n \n @if (olaySablonlar[olay]?.length) {\n
\n @for (s of olaySablonlar[olay]; track s.baslik) {\n \n }\n
\n }\n
\n
{{ (item.olaylar?.[olay] || '') | slice:0:80 }}{{ (item.olaylar?.[olay]?.length || 0) > 80 ? '...' : '' }}
\n \n
\n
\n }\n
\n
\n }\n
\n }\n
\n } @else {\n
\n 🗂️\n Henüz item eklenmedi\n Kütüphaneden seçin veya boş item ekleyin\n
\n }\n
\n\n
\n\n \n \n @if (kodModalHazir()) {\n
\n \n \n
\n }\n
\n
\n `,\n styles: `\n :host { display: block; overflow-y: auto; }\n\n .veri-paneli {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 12px;\n }\n\n .bolum {\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n\n .bolum-baslik {\n font-size: 12px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.8px;\n color: var(--te-text-secondary, rgba(0, 0, 0, 0.5));\n padding-bottom: 4px;\n border-bottom: 1px solid var(--te-border, rgba(0, 0, 0, 0.08));\n }\n\n .mod-kartlar {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 6px;\n }\n\n .mod-kart {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 4px;\n padding: 10px 6px;\n border-radius: 8px;\n border: 2px solid var(--te-border, rgba(0, 0, 0, 0.1));\n background: var(--te-btn-bg, rgba(0, 0, 0, 0.03));\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .mod-kart:hover { border-color: rgba(24, 144, 255, 0.4); }\n\n .mod-kart.secili {\n border-color: #1890ff;\n background: rgba(24, 144, 255, 0.1);\n box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.15);\n }\n\n .mod-simge { font-size: 20px; }\n\n .mod-ad {\n font-size: 10px;\n font-weight: 600;\n color: var(--py-metin, rgba(0, 0, 0, 0.85));\n }\n\n .mod-aciklama {\n font-size: 11px;\n color: var(--te-text-muted, rgba(0, 0, 0, 0.35));\n font-style: italic;\n }\n\n .alan-grup {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .alan-etiket {\n font-size: 11px;\n font-weight: 600;\n color: var(--te-text-secondary, rgba(0, 0, 0, 0.55));\n letter-spacing: 0.2px;\n }\n\n .kod-editor {\n border-radius: 6px;\n overflow: hidden;\n border: 1px solid var(--te-border, rgba(0, 0, 0, 0.1));\n }\n\n .kod-editor.mini { border-radius: 4px; }\n\n .kod-onizleme {\n border: 1px solid var(--te-border, rgba(0,0,0,0.1));\n border-radius: 6px;\n padding: 8px;\n cursor: pointer;\n transition: border-color 0.15s;\n position: relative;\n }\n .kod-onizleme:hover { border-color: #1890ff; }\n .kod-onizleme pre {\n margin: 0;\n font-size: 11px;\n font-family: 'Fira Code', monospace;\n color: var(--te-text-secondary, rgba(0,0,0,0.55));\n white-space: pre-wrap;\n word-break: break-all;\n max-height: 60px;\n overflow: hidden;\n }\n .kod-onizleme button { position: absolute; top: 4px; right: 4px; }\n\n .kod-ipucu {\n font-size: 10px;\n color: var(--te-text-muted, rgba(0, 0, 0, 0.35));\n }\n\n .kod-ipucu code {\n background: var(--te-code-bg, rgba(255, 255, 255, 0.08));\n padding: 1px 4px;\n border-radius: 3px;\n font-size: 10px;\n font-family: monospace;\n color: var(--te-code-color, #7ee787);\n }\n\n .test-btn { border-style: dashed !important; }\n\n .kutuphane-grid {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .kutuphane-kat-baslik {\n font-size: 10px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.8px;\n color: var(--te-text-muted, rgba(255, 255, 255, 0.3));\n margin-bottom: 4px;\n display: block;\n }\n\n .kutuphane-bilesenler {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n }\n\n .kutuphane-btn {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 4px 8px;\n border-radius: 6px;\n border: 1px solid var(--te-border, rgba(0, 0, 0, 0.1));\n background: var(--te-btn-bg, rgba(0, 0, 0, 0.03));\n cursor: pointer;\n transition: all 0.2s;\n }\n\n .kutuphane-btn:hover {\n border-color: #1890ff;\n background: rgba(24, 144, 255, 0.08);\n transform: translateY(-1px);\n }\n\n .kutuphane-btn:active { transform: scale(0.97); }\n\n .kb-simge { font-size: 14px; }\n\n .kb-ad {\n font-size: 10px;\n font-weight: 500;\n color: var(--te-text-secondary, rgba(0, 0, 0, 0.55));\n white-space: nowrap;\n }\n\n .item-ust-bar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-top: 4px;\n }\n\n .item-sayi {\n font-size: 11px;\n color: var(--te-text-muted, rgba(0, 0, 0, 0.4));\n }\n\n .item-liste {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n .item-kart {\n border: 1px solid var(--te-border, rgba(0, 0, 0, 0.1));\n border-radius: 8px;\n overflow: hidden;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .item-kart:hover { border-color: rgba(24, 144, 255, 0.3); }\n\n .item-kart.acik {\n border-color: #1890ff;\n box-shadow: 0 2px 10px rgba(24, 144, 255, 0.1);\n }\n\n .item-kart-baslik {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 6px 8px;\n background: var(--te-btn-bg, rgba(0, 0, 0, 0.03));\n border-bottom: 1px solid var(--te-border, rgba(0, 0, 0, 0.06));\n cursor: grab;\n }\n\n .item-drag-handle {\n cursor: grab;\n font-size: 12px;\n opacity: 0.3;\n user-select: none;\n transition: opacity 0.2s;\n }\n\n .item-drag-handle:hover { opacity: 0.7; }\n\n .item-simge-onizleme { font-size: 14px; }\n\n .item-baslik-metin {\n font-size: 12px;\n font-weight: 500;\n color: var(--py-metin, rgba(0, 0, 0, 0.85));\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .item-bosluk { flex: 1; }\n\n .item-btn {\n width: 22px;\n height: 22px;\n border: none;\n background: none;\n cursor: pointer;\n font-size: 11px;\n border-radius: 4px;\n color: var(--te-text-muted, rgba(0, 0, 0, 0.35));\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.15s;\n }\n\n .item-btn:hover {\n background: var(--te-hover, rgba(0, 0, 0, 0.04));\n color: #1890ff;\n }\n\n .item-btn.sil:hover { color: #f5222d; }\n .item-btn.ac-kapat { font-size: 9px; opacity: 0.5; }\n\n .item-detay {\n padding: 8px 10px 12px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n background: var(--te-item-detay-bg, rgba(0, 0, 0, 0.02));\n }\n\n .item-bolum {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .item-bolum-baslik {\n font-size: 10px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.6px;\n color: var(--te-text-muted, rgba(0, 0, 0, 0.35));\n padding-bottom: 2px;\n border-bottom: 1px solid var(--te-border, rgba(0, 0, 0, 0.06));\n }\n\n .item-alan-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 6px;\n }\n\n .alan-mini {\n display: flex;\n flex-direction: column;\n gap: 2px;\n }\n\n .alan-mini label {\n font-size: 10px;\n color: var(--te-text-muted, rgba(0, 0, 0, 0.4));\n font-weight: 500;\n }\n\n .renk-satir {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .renk-secici {\n width: 28px;\n height: 24px;\n padding: 1px;\n border: 1px solid var(--te-border, rgba(0, 0, 0, 0.12));\n border-radius: 4px;\n cursor: pointer;\n flex-shrink: 0;\n background: transparent;\n }\n\n .renk-secici::-webkit-color-swatch-wrapper { padding: 0; }\n .renk-secici::-webkit-color-swatch { border: none; border-radius: 3px; }\n .renk-satir input[nz-input] { flex: 1; }\n\n .olay-sablonlar {\n display: flex;\n flex-wrap: wrap;\n gap: 3px;\n margin-bottom: 2px;\n }\n\n .sablon-chip {\n padding: 1px 6px;\n border-radius: 8px;\n border: 1px solid var(--te-border, rgba(255, 255, 255, 0.1));\n background: var(--te-btn-bg, rgba(0, 0, 0, 0.03));\n cursor: pointer;\n font-size: 9px;\n color: var(--te-text-secondary, rgba(0, 0, 0, 0.45));\n transition: all 0.15s;\n }\n\n .sablon-chip:hover {\n border-color: #1890ff;\n color: #1890ff;\n background: rgba(24, 144, 255, 0.08);\n }\n\n .bos-durum {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 6px;\n padding: 24px 12px;\n color: var(--te-text-muted, rgba(0, 0, 0, 0.35));\n font-size: 12px;\n }\n\n .bos-durum span:first-child { font-size: 24px; opacity: 0.4; }\n\n .bos-ipucu {\n font-size: 10px;\n opacity: 0.5;\n }\n\n .item-liste .cdk-drag-preview {\n border-radius: 8px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);\n opacity: 0.9;\n }\n\n .item-liste .cdk-drag-placeholder {\n background: rgba(24, 144, 255, 0.06);\n border: 2px dashed rgba(24, 144, 255, 0.3);\n border-radius: 8px;\n min-height: 36px;\n }\n\n .item-liste .cdk-drag-animating {\n transition: transform 200ms ease;\n }\n\n :host-context(body.tema-karanlik) {\n --te-border: rgba(255,255,255,0.08);\n --te-btn-bg: rgba(255,255,255,0.03);\n --te-hover: rgba(255,255,255,0.06);\n --te-text-secondary: rgba(255,255,255,0.6);\n --te-text-muted: rgba(255,255,255,0.4);\n --te-code-bg: rgba(255,255,255,0.08);\n --te-code-color: #7ee787;\n --te-item-detay-bg: rgba(0,0,0,0.15);\n }\n :host-context(body.tema-karanlik) .kod-onizleme pre { color: rgba(255,255,255,0.6); }\n `,\n})\nexport class TeVeriPaneliComponent {\n private CD = inject(ChangeDetectorRef);\n sablon = input();\n\n veriKaynagiDegisti = output();\n itemlerDegisti = output();\n veriTestTiklandi = output();\n\n seciliItemIdx = signal(-1);\n\n readonly modListesi = ['aggregate', 'sabit', 'soket', 'hesaplama'] as const;\n readonly veriModBilgi = VERI_MOD_BILGI;\n readonly bilesenKutuphanesi = BILESEN_KUTUPHANESI;\n readonly olaySablonlar = OLAY_SABLONLAR;\n readonly olayTurleri = ['tiklanma', 'yenilendi', 'esikAsimi', 'ciftTiklama'];\n\n kodModalAcik = signal(false);\n kodModalBaslik = signal('');\n kodModalDeger = signal('');\n kodModalDil = signal('json');\n kodModalHedef = signal<{ tip: string; item?: ISablonItem; alan?: string } | null>(null);\n\n kodModalGosterimDeger = signal('');\n kodModalHazir = signal(false);\n\n kodModalEditorOptions = {\n minimap: { enabled: true },\n fontSize: 14,\n lineNumbers: 'on' as const,\n automaticLayout: true,\n wordWrap: 'on' as const,\n scrollBeyondLastLine: false,\n tabSize: 2,\n };\n\n kodModalAcildi() {\n this.kodModalHazir.set(false);\n setTimeout(() => {\n this.kodModalGosterimDeger.set(this.kodModalDeger());\n this.kodModalHazir.set(true);\n this.CD.markForCheck();\n setTimeout(() => {\n const eds = (window as any).monaco?.editor?.getEditors?.() || [];\n eds[eds.length - 1]?.layout();\n eds[eds.length - 1]?.focus();\n }, 100);\n }, 200);\n }\n\n kodEditorAc(baslik: string, deger: string, dil: string, tip: string, item?: ISablonItem, alan?: string) {\n this.kodModalBaslik.set(baslik);\n this.kodModalDeger.set(deger || '');\n this.kodModalDil.set(dil);\n this.kodModalHedef.set({ tip, item, alan });\n this.kodModalAcik.set(true);\n }\n\n kodModalKapat() {\n this.kodModalAcik.set(false);\n this.kodModalHedef.set(null);\n }\n\n kodModalKaydet() {\n const deger = this.kodModalDeger();\n const hedef = this.kodModalHedef();\n if (!hedef) return;\n\n switch (hedef.tip) {\n case 'pipeline': this.pipelineStrDegisti(deger); break;\n case 'donusum': this.vkAlanDegistir('donusumFunc', deger); break;\n case 'sabit': this.sabitVeriStrDegisti(deger); break;\n case 'soketFiltre': this.soketFiltreStrDegisti(deger); break;\n case 'hesaplama': this.vkAlanDegistir('piFunc', deger); break;\n case 'itemSabit':\n if (hedef.item) { hedef.item['_sabitVeriStr'] = deger; this.itemlerYayinla(); }\n break;\n case 'itemPipeline':\n if (hedef.item) { hedef.item['_pipelineStr'] = deger; this.itemlerYayinla(); }\n break;\n case 'itemHesaplama':\n if (hedef.item) this.itemVeriAlanDegistir(hedef.item, 'piFunc', deger);\n break;\n case 'itemOlay':\n if (hedef.item && hedef.alan) this.itemOlaySablonuUygula(hedef.item, hedef.alan, deger);\n break;\n }\n this.kodModalKapat();\n }\n\n get editorTema(): string {\n return document.body.classList.contains('tema-karanlik') ? 'vs-dark' : 'vs';\n }\n\n private get editorTemel() {\n return {\n theme: this.editorTema,\n minimap: { enabled: false },\n lineNumbers: 'on' as const,\n scrollBeyondLastLine: false,\n automaticLayout: true,\n fontSize: 12,\n tabSize: 2,\n wordWrap: 'on' as const,\n };\n }\n\n get jsEditorOptions() { return { ...this.editorTemel, language: 'javascript' }; }\n get jsonEditorOptions() { return { ...this.editorTemel, language: 'json' }; }\n\n private pipelineStrSinyali = signal('');\n private sabitVeriStrSinyali = signal('');\n private soketFiltreStrSinyali = signal('');\n\n seciliMod(): ISablonVeriKaynagi['mod'] {\n return this.sablon()?.veriKaynagi?.mod || 'sabit';\n }\n\n vkVt() { return this.sablon()?.veriKaynagi?.vt || ''; }\n vkDonusumFunc() { return this.sablon()?.veriKaynagi?.donusumFunc || ''; }\n vkSoketOlay() { return this.sablon()?.veriKaynagi?.soketOlay || ''; }\n vkSoketTetik() { return this.sablon()?.veriKaynagi?.soketTetik || ''; }\n vkPiFunc() { return this.sablon()?.veriKaynagi?.piFunc || ''; }\n vkYenilemeAraligi() { return this.sablon()?.veriKaynagi?.yenilemeAraligi || 0; }\n\n pipelineStr() {\n const v = this.pipelineStrSinyali();\n if (v) return v;\n const p = this.sablon()?.veriKaynagi?.pipeline;\n return p ? JSON.stringify(p, null, 2) : '';\n }\n\n sabitVeriStr() {\n const v = this.sabitVeriStrSinyali();\n if (v) return v;\n const s = this.sablon()?.veriKaynagi?.sabitVeri;\n return s ? JSON.stringify(s, null, 2) : '';\n }\n\n soketFiltreStr() {\n const v = this.soketFiltreStrSinyali();\n if (v) return v;\n const f = this.sablon()?.veriKaynagi?.soketFiltre;\n return f ? JSON.stringify(f, null, 2) : '';\n }\n\n mevcutItemler(): ISablonItem[] {\n return this.sablon()?.itemler || [];\n }\n\n modDegistir(mod: string) {\n const mevcut = this.sablon()?.veriKaynagi || { mod: 'sabit' as const };\n this.veriKaynagiDegisti.emit({ ...mevcut, mod: mod as ISablonVeriKaynagi['mod'] });\n }\n\n vkAlanDegistir(alan: string, deger: any) {\n const mevcut = this.sablon()?.veriKaynagi || { mod: 'sabit' as const };\n this.veriKaynagiDegisti.emit({ ...mevcut, [alan]: deger });\n }\n\n pipelineStrDegisti(str: string) {\n this.pipelineStrSinyali.set(str);\n const mevcut = this.sablon()?.veriKaynagi || { mod: 'aggregate' as const };\n let pipeline: any[] | undefined;\n try { pipeline = JSON.parse(str); } catch {}\n this.veriKaynagiDegisti.emit({ ...mevcut, pipeline });\n }\n\n sabitVeriStrDegisti(str: string) {\n this.sabitVeriStrSinyali.set(str);\n const mevcut = this.sablon()?.veriKaynagi || { mod: 'sabit' as const };\n let sabitVeri: any;\n try { sabitVeri = JSON.parse(str); } catch { sabitVeri = str; }\n this.veriKaynagiDegisti.emit({ ...mevcut, sabitVeri });\n }\n\n soketFiltreStrDegisti(str: string) {\n this.soketFiltreStrSinyali.set(str);\n const mevcut = this.sablon()?.veriKaynagi || { mod: 'soket' as const };\n let soketFiltre: Record | undefined;\n try { soketFiltre = JSON.parse(str); } catch {}\n this.veriKaynagiDegisti.emit({ ...mevcut, soketFiltre });\n }\n\n olayEtiketi(olay: string): string {\n const map: Record = {\n tiklanma: '👆 Tıklanma',\n yenilendi: '🔄 Yenilendi',\n esikAsimi: '⚠️ Eşik Aşımı',\n ciftTiklama: '👆👆 Çift Tık',\n };\n return map[olay] || olay;\n }\n\n bosItemEkle() {\n const itemler = [...this.mevcutItemler()];\n itemler.push({\n id: new FikoYTId().toString(),\n simge: '📦',\n baslik: 'Yeni Item',\n olaylar: {},\n veriKaynagi: { mod: 'sabit' },\n } as ISablonItem);\n this.seciliItemIdx.set(itemler.length - 1);\n this.itemlerDegisti.emit(itemler);\n }\n\n bilesendenEkle(preset: IBilesenPreset) {\n const itemler = [...this.mevcutItemler()];\n const varsayilan = JSON.parse(JSON.stringify(preset.varsayilan));\n const yeni: ISablonItem = {\n id: new FikoYTId().toString(),\n simge: preset.simge,\n baslik: preset.baslik,\n olaylar: {},\n veriKaynagi: { mod: 'sabit' },\n ...varsayilan,\n };\n if (!yeni.olaylar) yeni.olaylar = {};\n if (!yeni.veriKaynagi) yeni.veriKaynagi = { mod: 'sabit' };\n itemler.push(yeni);\n this.seciliItemIdx.set(itemler.length - 1);\n this.itemlerDegisti.emit(itemler);\n }\n\n itemSil(idx: number) {\n const itemler = [...this.mevcutItemler()];\n itemler.splice(idx, 1);\n if (this.seciliItemIdx() >= itemler.length) this.seciliItemIdx.set(-1);\n this.itemlerDegisti.emit(itemler);\n }\n\n onItemDrop(event: CdkDragDrop) {\n const itemler = [...this.mevcutItemler()];\n moveItemInArray(itemler, event.previousIndex, event.currentIndex);\n this.itemlerDegisti.emit(itemler);\n }\n\n itemVeriModDegistir(item: ISablonItem, mod: string) {\n if (!item.veriKaynagi) item.veriKaynagi = { mod: 'sabit' };\n item.veriKaynagi.mod = mod as ISablonVeriKaynagi['mod'];\n this.itemlerYayinla();\n }\n\n itemVeriAlanDegistir(item: ISablonItem, alan: string, deger: any) {\n if (!item.veriKaynagi) item.veriKaynagi = { mod: 'sabit' };\n (item.veriKaynagi as any)[alan] = deger;\n this.itemlerYayinla();\n }\n\n itemOlaySablonuUygula(item: ISablonItem, olayAdi: string, sablon: string) {\n if (!item.olaylar) item.olaylar = {};\n item.olaylar[olayAdi] = sablon;\n this.itemlerYayinla();\n }\n\n itemlerYayinla() {\n this.itemlerDegisti.emit([...this.mevcutItemler()]);\n }\n}\n","import {\r\n ChangeDetectionStrategy, Component, computed, effect, input, output, signal,\r\n} from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NzTableModule } from 'ng-zorro-antd/table';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { NzIconModule } from 'ng-zorro-antd/icon';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzInputNumberModule } from 'ng-zorro-antd/input-number';\r\nimport { NzTagModule } from 'ng-zorro-antd/tag';\r\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\r\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\r\nimport { NzBadgeModule } from 'ng-zorro-antd/badge';\r\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\r\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\r\nimport { ISablon, ISablonElement, ElementTur } from '../sablon-editoru/sablon.interface';\r\n\r\ninterface ISatir {\r\n _idx: number;\r\n _duzenle: boolean;\r\n _taslak: Record;\r\n _yeni: boolean;\r\n veri: Record;\r\n}\r\n\r\ninterface ISutun {\r\n anahtar: string;\r\n baslik: string;\r\n tur: 'text' | 'number' | 'color';\r\n element: ISablonElement;\r\n genislik: string;\r\n}\r\n\r\nconst SAYI_TURLER: ElementTur[] = [\r\n 'sayac', 'ilerleme-cubugu', 'ilerleme-halka', 'gauge',\r\n 'led-gosterge', 'slider', 'sparkline', 'bar-grafik',\r\n 'pasta-grafik', 'alan-grafik', 'radar-grafik',\r\n];\r\n\r\nconst RENK_ANAHTAR = ['renk', 'color', 'fill', 'stroke', 'background', 'arka'];\r\n\r\n@Component({\r\n selector: 'te-parametre-tablosu',\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule, FormsModule,\r\n NzTableModule, NzButtonModule, NzIconModule,\r\n NzInputModule, NzInputNumberModule,\r\n NzTagModule, NzTooltipModule, NzPopconfirmModule,\r\n NzBadgeModule, NzEmptyModule, NzDividerModule,\r\n ],\r\n template: `\r\n
\r\n
\r\n
\r\n \r\n Parametre Tablosu\r\n @if (sablon()?.baslik) {\r\n {{ sablon()?.baslik }}\r\n }\r\n @if (satirlar().length > 0) {\r\n \r\n \r\n }\r\n
\r\n
\r\n @if (sutunlar().length > 0) {\r\n \r\n }\r\n
\r\n
\r\n\r\n @if (sutunlar().length === 0) {\r\n
\r\n \r\n
\r\n } @else {\r\n
\r\n @for (s of sutunlar(); track s.anahtar) {\r\n \r\n \r\n {{ s.anahtar }}\r\n \r\n }\r\n
\r\n\r\n 25\" [nzPageSize]=\"25\"\r\n nzTableLayout=\"fixed\" class=\"pt-tablo\">\r\n \r\n #\r\n @for (s of sutunlar(); track s.anahtar) {\r\n \r\n
\r\n {{ s.anahtar }}\r\n \r\n \r\n \r\n
\r\n \r\n }\r\n Islem\r\n \r\n \r\n @for (satir of tablo.data; track satir._idx; let i = $index) {\r\n \r\n {{ i + 1 }}\r\n @for (s of sutunlar(); track s.anahtar) {\r\n \r\n @if (satir._duzenle) {\r\n @if (s.tur === 'number') {\r\n \r\n } @else if (s.tur === 'color') {\r\n
\r\n \r\n \r\n
\r\n } @else {\r\n \r\n }\r\n } @else {\r\n
\r\n @if (s.tur === 'color' && satir.veri[s.anahtar]) {\r\n \r\n }\r\n \r\n {{ satir.veri[s.anahtar] ?? '—' }}\r\n \r\n
\r\n }\r\n \r\n }\r\n \r\n @if (satir._duzenle) {\r\n
\r\n \r\n \r\n \r\n
\r\n } @else {\r\n
\r\n \r\n \r\n \r\n
\r\n }\r\n \r\n \r\n }\r\n @if (satirlar().length === 0) {\r\n \r\n \r\n \r\n }\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n Enter kaydet • Esc iptal\r\n \r\n {{ satirlar().length }} satir • {{ sutunlar().length }} sutun\r\n
\r\n }\r\n
\r\n `,\r\n styles: `\r\n :host { display: flex; flex: 1; min-height: 0; }\r\n .pt-wrapper { display: flex; flex-direction: column; flex: 1; min-height: 0; background: var(--pt-bg, #fff); border: 1px solid var(--pt-border, rgba(0,0,0,0.08)); border-radius: 8px; overflow: hidden; }\r\n .pt-header { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; flex-shrink: 0; background: var(--pt-header-bg, #fafafa); border-bottom: 1px solid var(--pt-border, rgba(0,0,0,0.08)); }\r\n .pt-header-sol { display: flex; align-items: center; gap: 8px; }\r\n .pt-header-ikon { font-size: 15px; color: var(--pt-accent, #1890ff); }\r\n .pt-baslik { font-weight: 600; font-size: 13px; color: var(--pt-text, rgba(0,0,0,0.88)); }\r\n .pt-sablon-tag { margin: 0; font-size: 11px; }\r\n .pt-sutun-bilgi { display: flex; flex-wrap: wrap; gap: 4px; padding: 8px 14px; flex-shrink: 0; background: var(--pt-sutun-bg, rgba(0,0,0,0.02)); border-bottom: 1px solid var(--pt-border, rgba(0,0,0,0.06)); }\r\n .pt-sutun-chip { margin: 0; font-size: 11px; }\r\n .pt-bos-durum { padding: 40px 20px; flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; }\r\n .pt-tablo { flex: 1; min-height: 0; }\r\n .pt-th-no, .pt-td-no { text-align: center !important; padding: 0 8px !important; }\r\n .pt-satir-no { font-size: 11px; color: var(--pt-muted, rgba(0,0,0,0.35)); font-variant-numeric: tabular-nums; }\r\n .pt-th-sutun { padding: 6px 8px !important; }\r\n .pt-th-icerik { display: flex; align-items: center; justify-content: space-between; gap: 4px; }\r\n .pt-th-etiket { font-size: 12px; font-weight: 600; color: var(--pt-text, rgba(0,0,0,0.85)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0; }\r\n .pt-th-tip { margin: 0; font-size: 10px; padding: 0 4px; flex-shrink: 0; }\r\n .pt-th-islem { text-align: center !important; }\r\n .pt-td-hucre { padding: 3px 8px !important; vertical-align: middle !important; }\r\n .pt-td-islem { text-align: center !important; padding: 0 !important; white-space: nowrap; }\r\n .pt-td-bos { text-align: center !important; padding: 32px !important; }\r\n .pt-hucre-goruntu { display: flex; align-items: center; gap: 6px; min-height: 26px; }\r\n .pt-hucre-deger { font-size: 12px; color: var(--pt-text, rgba(0,0,0,0.85)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 120px; }\r\n .pt-deger-bos { color: var(--pt-muted, rgba(0,0,0,0.28)) !important; font-style: italic; }\r\n .pt-renk-ornek { width: 13px; height: 13px; border-radius: 3px; flex-shrink: 0; border: 1px solid rgba(0,0,0,0.15); display: inline-block; }\r\n .pt-input-tam { width: 100% !important; }\r\n .pt-renk-grup { display: flex; align-items: center; gap: 4px; }\r\n .pt-renk-picker { width: 26px; height: 26px; padding: 1px; border: 1px solid rgba(0,0,0,0.15); border-radius: 4px; cursor: pointer; flex-shrink: 0; }\r\n .pt-renk-metin { flex: 1; min-width: 0; }\r\n .pt-satir-duzenle td { background: var(--pt-edit-bg, #e6f4ff) !important; transition: background 0.2s; }\r\n .pt-satir-yeni td { background: var(--pt-new-bg, #f6ffed) !important; }\r\n .pt-islem-grup { display: flex; align-items: center; justify-content: center; padding: 0 4px; }\r\n .pt-btn-kaydet { color: #52c41a !important; }\r\n .pt-btn-kaydet:hover { color: #389e0d !important; }\r\n .pt-btn-iptal { color: #ff4d4f !important; }\r\n .pt-btn-duzenle { color: var(--pt-accent, #1890ff) !important; }\r\n .pt-btn-sil { color: var(--pt-muted, rgba(0,0,0,0.45)) !important; }\r\n .pt-btn-sil:hover { color: #ff4d4f !important; }\r\n .pt-alt-bar { display: flex; align-items: center; justify-content: space-between; padding: 6px 14px; flex-shrink: 0; font-size: 11px; color: var(--pt-muted, rgba(0,0,0,0.4)); background: var(--pt-header-bg, #fafafa); border-top: 1px solid var(--pt-border, rgba(0,0,0,0.06)); }\r\n .pt-alt-bilgi { display: flex; align-items: center; gap: 5px; }\r\n .pt-alt-sayac { font-variant-numeric: tabular-nums; }\r\n :host-context(body.tema-karanlik) {\r\n --pt-bg: #141414; --pt-border: rgba(255,255,255,0.1); --pt-header-bg: rgba(255,255,255,0.03);\r\n --pt-sutun-bg: rgba(255,255,255,0.02); --pt-text: rgba(255,255,255,0.85); --pt-muted: rgba(255,255,255,0.3);\r\n --pt-accent: #177ddc; --pt-edit-bg: rgba(24,144,255,0.08); --pt-new-bg: rgba(82,196,26,0.08);\r\n }\r\n `,\r\n})\r\nexport class TeParametreTablosuComponent {\r\n sablon = input();\r\n veriler = input[]>([]);\r\n\r\n veriGuncellendi = output[]>();\r\n\r\n satirlar = signal([]);\r\n\r\n sutunlar = computed(() => {\r\n const s = this.sablon();\r\n if (!s?.elementler) return [];\r\n const gorulen = new Set();\r\n const result: ISutun[] = [];\r\n for (const el of s.elementler) {\r\n const anahtar = el.parametreAnahtari;\r\n if (!anahtar || gorulen.has(anahtar)) continue;\r\n gorulen.add(anahtar);\r\n result.push({\r\n anahtar,\r\n baslik: anahtar,\r\n tur: this.elTipBelirle(el),\r\n element: el,\r\n genislik: this.elGenislikBelirle(el),\r\n });\r\n }\r\n return result;\r\n });\r\n\r\n scrollX = computed(() => {\r\n const w = 44 + this.sutunlar().length * 150 + 88;\r\n return `${Math.max(w, 500)}px`;\r\n });\r\n\r\n constructor() {\r\n effect(() => {\r\n const v = this.veriler();\r\n this.satirlar.set(\r\n v.map((veri, i) => ({\r\n _idx: i,\r\n _duzenle: false,\r\n _taslak: { ...veri },\r\n _yeni: false,\r\n veri: { ...veri },\r\n }))\r\n );\r\n }, { allowSignalWrites: true });\r\n }\r\n\r\n private elTipBelirle(el: ISablonElement): 'text' | 'number' | 'color' {\r\n if (SAYI_TURLER.includes(el.tur)) return 'number';\r\n const ak = (el.parametreAnahtari || '').toLowerCase();\r\n if (RENK_ANAHTAR.some(r => ak.includes(r))) return 'color';\r\n return 'text';\r\n }\r\n\r\n private elGenislikBelirle(el: ISablonElement): string {\r\n const tur = this.elTipBelirle(el);\r\n if (tur === 'color') return '160px';\r\n if (tur === 'number') return '120px';\r\n return '150px';\r\n }\r\n\r\n tipRengi(tur: 'text' | 'number' | 'color'): string {\r\n if (tur === 'number') return 'blue';\r\n if (tur === 'color') return 'purple';\r\n return 'default';\r\n }\r\n\r\n tipIkon(tur: 'text' | 'number' | 'color'): string {\r\n if (tur === 'number') return 'number';\r\n if (tur === 'color') return 'bg-colors';\r\n return 'font-size';\r\n }\r\n\r\n duzenle(satir: ISatir) {\r\n satir._taslak = { ...satir.veri };\r\n satir._duzenle = true;\r\n this.satirlar.update(list => [...list]);\r\n }\r\n\r\n kaydet(satir: ISatir) {\r\n satir.veri = { ...satir._taslak };\r\n satir._duzenle = false;\r\n satir._yeni = false;\r\n this.satirlar.update(list => [...list]);\r\n this.yayinla();\r\n }\r\n\r\n iptal(satir: ISatir) {\r\n if (satir._yeni) {\r\n this.satirlar.update(list => list.filter(s => s._idx !== satir._idx));\r\n } else {\r\n satir._taslak = { ...satir.veri };\r\n satir._duzenle = false;\r\n this.satirlar.update(list => [...list]);\r\n }\r\n }\r\n\r\n sil(idx: number) {\r\n this.satirlar.update(list =>\r\n list.filter(s => s._idx !== idx).map((s, i) => ({ ...s, _idx: i }))\r\n );\r\n this.yayinla();\r\n }\r\n\r\n satirEkle() {\r\n const bos: Record = {};\r\n for (const s of this.sutunlar()) {\r\n bos[s.anahtar] = s.tur === 'number' ? 0 : '';\r\n }\r\n const yeni: ISatir = {\r\n _idx: Date.now(),\r\n _duzenle: true,\r\n _taslak: { ...bos },\r\n _yeni: true,\r\n veri: { ...bos },\r\n };\r\n this.satirlar.update(list => [...list, yeni]);\r\n }\r\n\r\n private yayinla() {\r\n this.veriGuncellendi.emit(this.satirlar().map(s => ({ ...s.veri })));\r\n }\r\n}\r\n","
\n
\n \n Sablon Editoru\n @if (sablon()?.id) {\n {{ sablon()?.id }}\n }\n
\n
\n \n \n \n \n \n
\n
\n @if (sablon()?.tur) {\n {{ sablon()?.tur }}\n }\n \n
\n
\n\n
\n @if (paletAcik()) {\n
\n \n \n
\n }\n\n
\n \n \n\n @if (kodPaneliAcik()) {\n
\n \n \n }\n
\n\n @if (stilPaneliAcik()) {\n
\n \n \n \n \n \n \n \n \n \n \n
\n \n \n
\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
\n
\n
\n }\n
\n\n
\n \n \n \n \n
\n\n\n \n \n \n\n\n\n \n \n \n \n\n\n\n \n \n \n \n\n\n\n \n \n \n \n\n","import {\r\n ChangeDetectionStrategy, Component, computed, inject, input, model, output, signal, OnInit, OnDestroy, HostBinding, HostListener, ElementRef, NgZone,\r\n} from '@angular/core';\r\nimport { CommonModule, Location } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { debounceTime } from 'rxjs';\r\nimport { NzLayoutModule } from 'ng-zorro-antd/layout';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { NzModalModule } from 'ng-zorro-antd/modal';\r\nimport { NzTabsModule } from 'ng-zorro-antd/tabs';\r\nimport { NzTagModule } from 'ng-zorro-antd/tag';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\r\nimport { NzIconModule } from 'ng-zorro-antd/icon';\r\nimport { FikoYTKokBilesenComponent } from '@service/kok-bilesen/kok-bilesen.component';\r\nimport { DashboardService } from '@uygulamalar/hmi-pano/dashboard/dashboard.service';\r\nimport {\r\n ISablon, ISablonElement, ISablonGorunumStil, IArkaPlan,\r\n ISablonOlaylar, ISablonVeriKaynagi, ISablonItem,\r\n ElementTur, yeniSablonElement, bosISablon,\r\n} from '../sablon-editoru/sablon.interface';\r\nimport { TePaletComponent } from './te-palet.component';\r\nimport { TeCanvasComponent } from './te-canvas.component';\r\nimport { TeKodPaneliComponent } from './te-kod-paneli.component';\r\nimport { TeStilPaneliComponent } from './te-stil-paneli.component';\r\nimport { TeVeriPaneliComponent } from './te-veri-paneli.component';\r\nimport { TeParametreTablosuComponent } from './te-parametre-tablosu.component';\r\n\r\n@Component({\r\n selector: 'fiko-tasarim-editoru',\r\n standalone: true,\r\n imports: [\r\n CommonModule, RouterModule, FormsModule,\r\n NzLayoutModule, NzButtonModule, NzModalModule, NzTabsModule, NzTagModule, NzInputModule, NzTooltipModule, NzIconModule,\r\n TePaletComponent, TeCanvasComponent, TeKodPaneliComponent,\r\n TeStilPaneliComponent, TeVeriPaneliComponent, TeParametreTablosuComponent,\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './fiko-tasarim-editoru.component.html',\r\n styleUrl: './fiko-tasarim-editoru.component.less',\r\n})\r\nexport class FikoTasarimEditoruComponent extends FikoYTKokBilesenComponent implements OnInit, OnDestroy {\r\n private konum = inject(Location);\r\n private dashSvc = inject(DashboardService);\r\n\r\n sablon = model();\r\n parametreler = input>({});\r\n kaydedildi = output();\r\n\r\n private elRef = inject(ElementRef);\r\n private zone = inject(NgZone);\r\n\r\n seciliElementId = signal(null);\r\n kodPaneliAcik = signal(true);\r\n kodPaneliYukseklik = signal(200);\r\n tamEkran = signal(false);\r\n stilPaneliAcik = signal(true);\r\n\r\n private gecmis = signal([]);\r\n private gecmisIndex = signal(-1);\r\n\r\n mobilPaletAcik = signal(false);\r\n mobilStilAcik = signal(false);\r\n mobilKodAcik = signal(false);\r\n mobilVeriAcik = signal(false);\r\n mobilOlaylarAcik = signal(false);\r\n\r\n paletAcik = signal(true);\r\n\r\n @HostBinding('class.tam-ekran') get tamEkranClass() { return this.tamEkran(); }\r\n\r\n seciliElement = computed(() => {\r\n const id = this.seciliElementId();\r\n return this.sablon()?.elementler?.find(e => e.id === id) ?? null;\r\n });\r\n\r\n onizlemeSablon = signal(null);\r\n\r\n parametreTabloVerisi = computed[]>(() => {\r\n const items = this.sablon()?.itemler ?? [];\r\n return items.map(item => {\r\n const { id, sablon, veriKaynagi, olaylar, ...rest } = item as any;\r\n return rest;\r\n });\r\n });\r\n\r\n constructor() {\r\n super();\r\n toObservable(this.sablon).pipe(\r\n debounceTime(300),\r\n takeUntilDestroyed(),\r\n ).subscribe(s => this.onizlemeSablon.set(s ? structuredClone(s) : null));\r\n }\r\n\r\n ngOnInit() {\r\n if (!this.sablon()) {\r\n // Standalone route modu: sablon yükle ve tam ekran aç\r\n const widgetId = this.route.snapshot.paramMap.get('widgetId');\r\n if (widgetId) {\r\n const widget = this.dashSvc.tumWidgetler().find(w => w.id === widgetId);\r\n this.sablon.set(widget ? structuredClone(widget) : { ...bosISablon(), id: widgetId });\r\n } else {\r\n this.sablon.set(bosISablon());\r\n }\r\n this.tamEkran.set(true);\r\n } else {\r\n // Embedded mod: DOM hazır olduktan sonra body-append ile tam ekran aç (tüm sayfayı kapla)\r\n setTimeout(() => this.setTamEkran(true), 0);\r\n }\r\n }\r\n\r\n geriDon() {\r\n if (this.tamEkran()) { this.setTamEkran(false); return; }\r\n this.konum.back();\r\n }\r\n\r\n tamEkranToggle() { this.setTamEkran(!this.tamEkran()); }\r\n paletToggle() { this.paletAcik.update(v => !v); }\r\n kodPaneliToggle() { this.kodPaneliAcik.update(v => !v); }\r\n stilPaneliToggle() { this.stilPaneliAcik.update(v => !v); }\r\n\r\n private setTamEkran(v: boolean) {\r\n const el = this.elRef.nativeElement as HTMLElement;\r\n if (v && el.parentElement && el.parentElement !== document.body) {\r\n const ph = document.createElement('span');\r\n ph.setAttribute('data-fiko-te-ph', '');\r\n el.parentElement.insertBefore(ph, el);\r\n document.body.appendChild(el);\r\n } else if (!v) {\r\n const ph = document.querySelector('[data-fiko-te-ph]');\r\n if (ph?.parentElement) { ph.parentElement.insertBefore(el, ph); ph.remove(); }\r\n }\r\n this.tamEkran.set(v);\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.tamEkran()) { this.setTamEkran(false); }\r\n super.ngOnDestroy();\r\n }\r\n\r\n sablonGuncelle(patch: Partial) {\r\n const mevcut = this.sablon();\r\n if (mevcut) {\r\n const yeniGecmis = [...this.gecmis().slice(0, this.gecmisIndex() + 1), structuredClone(mevcut)].slice(-20);\r\n this.gecmis.set(yeniGecmis);\r\n this.gecmisIndex.set(yeniGecmis.length - 1);\r\n }\r\n this.sablon.update(s => ({ ...(s || bosISablon()), ...patch }));\r\n }\r\n\r\n elementGuncelle(elementId: string, patch: Partial) {\r\n this.sablon.update(s => {\r\n const cur = s || bosISablon();\r\n return { ...cur, elementler: (cur.elementler || []).map(e => e.id === elementId ? { ...e, ...patch } : e) };\r\n });\r\n }\r\n\r\n elementEkle(tur: ElementTur) {\r\n const yeni = yeniSablonElement(tur);\r\n this.sablon.update(s => {\r\n const cur = s || bosISablon();\r\n return { ...cur, elementler: [...(cur.elementler || []), yeni] };\r\n });\r\n this.seciliElementId.set(yeni.id);\r\n }\r\n\r\n elementSil(elementId: string) {\r\n this.sablon.update(s => ({\r\n ...(s || bosISablon()),\r\n elementler: (s?.elementler || []).filter(e => e.id !== elementId),\r\n }));\r\n if (this.seciliElementId() === elementId) this.seciliElementId.set(null);\r\n }\r\n\r\n kaydet() {\r\n const s = this.sablon();\r\n if (s) {\r\n this.dashSvc.sablonGuncelle(s.id, s);\r\n this.nzMessage.success('Widget kaydedildi');\r\n }\r\n this.kaydedildi.emit(s);\r\n }\r\n\r\n onElementSecildi(id: string | null) { this.seciliElementId.set(id); }\r\n onElementGuncellendi(e: { id: string; patch: Partial }) { this.elementGuncelle(e.id, e.patch); }\r\n onElementSilindi(id: string) { this.elementSil(id); }\r\n\r\n onElementStilGuncellendi(patch: Partial) {\r\n const id = this.seciliElementId();\r\n if (id) this.elementGuncelle(id, patch);\r\n }\r\n\r\n onSablonStilGuncellendi(stil: Partial) {\r\n this.sablonGuncelle({ stil: { ...(this.sablon()?.stil ?? {}), ...stil } });\r\n }\r\n\r\n onSablonArkaPlanGuncellendi(ap: Partial) {\r\n this.sablonGuncelle({ arkaPlan: { ...(this.sablon()?.arkaPlan ?? {}), ...ap } as IArkaPlan });\r\n }\r\n\r\n onHtmlDegisti(v: string) { this.sablonGuncelle({ htmlIcerik: v }); }\r\n onCssDegisti(v: string) { this.sablonGuncelle({ cssIcerik: v }); }\r\n onJsDegisti(v: string) { this.sablonGuncelle({ jsIcerik: v }); }\r\n onOlaylarDegisti(o: ISablonOlaylar) { this.sablonGuncelle({ olaylar: o }); }\r\n\r\n onVeriKaynagiDegisti(vk: ISablonVeriKaynagi) { this.sablonGuncelle({ veriKaynagi: vk }); }\r\n onItemlerDegisti(items: ISablonItem[]) { this.sablonGuncelle({ itemler: items }); }\r\n\r\n onParametreTabloVeriGuncellendi(veriler: Record[]) {\r\n const mevcutItemler = this.sablon()?.itemler ?? [];\r\n const yeniItemler = veriler.map((veri, i) => ({\r\n ...(mevcutItemler[i] ?? { id: crypto.randomUUID?.() || Date.now().toString() + i }),\r\n ...veri,\r\n }));\r\n this.sablonGuncelle({ itemler: yeniItemler });\r\n }\r\n\r\n geriAl() {\r\n const idx = this.gecmisIndex();\r\n if (idx < 0) return;\r\n this.sablon.set(structuredClone(this.gecmis()[idx]));\r\n this.gecmisIndex.update(v => v - 1);\r\n }\r\n\r\n ileriAl() {\r\n const idx = this.gecmisIndex();\r\n const g = this.gecmis();\r\n if (idx >= g.length - 1) return;\r\n this.gecmisIndex.update(v => v + 1);\r\n this.sablon.set(structuredClone(g[idx + 1]));\r\n }\r\n\r\n dividerBasla(event: MouseEvent) {\r\n event.preventDefault();\r\n const baslangicY = event.clientY;\r\n const baslangicH = this.kodPaneliYukseklik();\r\n const container = this.elRef.nativeElement as HTMLElement;\r\n\r\n this.zone.runOutsideAngular(() => {\r\n const onMouseMove = (e: MouseEvent) => {\r\n const fark = baslangicY - e.clientY;\r\n const maxH = container.clientHeight * 0.5;\r\n const yeniH = Math.max(100, Math.min(maxH, baslangicH + fark));\r\n this.kodPaneliYukseklik.set(yeniH);\r\n };\r\n\r\n const onMouseUp = () => {\r\n document.removeEventListener('mousemove', onMouseMove);\r\n document.removeEventListener('mouseup', onMouseUp);\r\n };\r\n\r\n document.addEventListener('mousemove', onMouseMove);\r\n document.addEventListener('mouseup', onMouseUp);\r\n });\r\n }\r\n\r\n @HostListener('document:keydown', ['$event'])\r\n onKlavye(e: KeyboardEvent) {\r\n const hedef = e.target as HTMLElement;\r\n const inputIcinde = hedef.tagName === 'INPUT' || hedef.tagName === 'TEXTAREA' || hedef.isContentEditable;\r\n\r\n if (e.ctrlKey && e.key === 's') {\r\n e.preventDefault();\r\n this.kaydet();\r\n return;\r\n }\r\n if (e.ctrlKey && e.shiftKey && (e.key === 'Z' || e.key === 'z')) {\r\n e.preventDefault();\r\n this.ileriAl();\r\n return;\r\n }\r\n if (e.ctrlKey && (e.key === 'Z' || e.key === 'z')) {\r\n e.preventDefault();\r\n this.geriAl();\r\n return;\r\n }\r\n if (!inputIcinde) {\r\n if (e.key === 'Delete' || e.key === 'Backspace') {\r\n const id = this.seciliElementId();\r\n if (id) { e.preventDefault(); this.elementSil(id); }\r\n return;\r\n }\r\n if (e.key === 'f' || e.key === 'F') {\r\n e.preventDefault();\r\n this.tamEkranToggle();\r\n return;\r\n }\r\n }\r\n if (e.key === 'Escape') {\r\n if (this.seciliElementId()) { this.seciliElementId.set(null); return; }\r\n if (this.tamEkran()) { this.setTamEkran(false); return; }\r\n }\r\n }\r\n}\r\n","@if (!icerik?.sifre && icerik?.sifre!=''){\r\n\r\n} @else {\r\n\r\n \r\n \r\n\r\n\r\n}\r\n\r\n@if (dinamikBilesenId) {\r\n
\r\n \r\n
\r\n \r\n}\r\n\r\n@if (!icerik?.ek && !saltOkunur && !sayfaKurallari?.icerikEngelle){\r\n
\r\n @if (!sayfaKurallari?.dosyaEngelle) {\r\n \r\n }\r\n\r\n @if (!sayfaKurallari?.mikrofonEngelle) {\r\n \r\n }\r\n\r\n @if (!sayfaKurallari?.uyarDokumEngelle) {\r\n \r\n }\r\n\r\n @if (parametreSetleri?.length > 0) {\r\n \r\n }\r\n\r\n @if (!sayfaKurallari?.youtubeEngelle) {\r\n \r\n }\r\n\r\n @if (!sayfaKurallari?.konumEngelle) {\r\n \r\n }\r\n\r\n
\r\n\r\n\r\n@if (mikrofonKayitAktif) {\r\n
\r\n \r\n {{ mikrofonSureFormat() }}\r\n Kaydediliyor...\r\n \r\n
\r\n}\r\n\r\n\r\n@if (mikrofonMenuGoster) {\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {{ mikrofonSureFormat() }}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n}\r\n\r\n}\r\n\r\n\r\n\r\n
\r\n\r\n\r\n \r\n @if(icerik?.ek?.turu === 'RESIM'){\r\n
\r\n\r\n \r\n\r\n \r\n @if (resimAlani && (icerik?.ek?.yuzEtiketGosterim !== 'kapali' || yuzEtiketModuAktif) && (icerik?.ek?.yuzEtiketleri?.length || bekleyenEtiket || yuzEtiketModuAktif || duzenlenenEtiketId)) {\r\n
\r\n\r\n @if (icerik?.ek?.yuzEtiketleri?.length) {\r\n
\r\n @for (etiket of icerik.ek.yuzEtiketleri; track etiket.id + '-' + $index) {\r\n
\r\n @if (!saltOkunur) {\r\n
\r\n }\r\n {{ etiket.kisiIsmi }}\r\n @if (!saltOkunur) {\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n }\r\n
\r\n }\r\n\r\n @if (bekleyenEtiket && !lightboxAcik) {\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n\r\n
\r\n }\r\n\r\n \r\n @if (resimAlani && (editorOtomatikYuzler?.length || editorYuzTespitYukleniyor)) {\r\n
\r\n\r\n @if (editorYuzTespitYukleniyor) {\r\n
\r\n Yüzler tespit ediliyor...\r\n
\r\n }\r\n\r\n @for (yuz of editorOtomatikYuzler; track yuz.id; let i = $index) {\r\n
\r\n \r\n @if (yuz.enYakinEslesme) { {{ yuz.enYakinEslesme.ad }} {{ (1 - yuz.enYakinEslesme.mesafe) * 100 | number:'1.0-0' }}% }\r\n @if (!yuz.enYakinEslesme) { ? }\r\n \r\n
\r\n @if (yuz.enYakinEslesme) {\r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n \r\n @if (yuz.eslesmeler?.length || editorOtomatikYuzAramaSonuclari.length) {\r\n
\r\n @for (eslesme of yuz.eslesmeler; track eslesme.kisi_id) {\r\n
\r\n \r\n {{ eslesme.ad }}\r\n {{ (1 - eslesme.mesafe) * 100 | number:'1.0-0' }}%\r\n
\r\n }\r\n @for (sonuc of editorOtomatikYuzAramaSonuclari; track sonuc._id) {\r\n
\r\n @if (sonuc.kaynak === 'soyagaci' && sonuc.resimUrl) { }\r\n @if (sonuc.kaynak === 'soyagaci' && !sonuc.resimUrl) { }\r\n @if (sonuc.kaynak !== 'soyagaci') { }\r\n {{ sonuc.ismi }}\r\n @if (sonuc.kaynak === 'soyagaci') { Aile }\r\n
\r\n }\r\n
\r\n }\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n }\r\n\r\n @if( !saltOkunur){\r\n \r\n \r\n \r\n @if (icerik?.ek?.yuzEtiketleri?.length) {\r\n \r\n }\r\n \r\n }\r\n \r\n\r\n \r\n @if (icerik?.ek?.orijinalBoyut) {\r\n {{okunabilirBoyut(icerik?.ek?.orijinalBoyut)}} → {{okunabilirBoyut(icerik?.ek?.boyut)}}\r\n } @else {\r\n {{okunabilirBoyut(icerik?.ek?.boyut)}}\r\n }\r\n \r\n\r\n \r\n Resim\r\n \r\n\r\n @if (!saltOkunur) {\r\n \r\n }\r\n @if (icerik?.ek?.konum?.yerIsmi) {\r\n \r\n {{ icerik.ek.konum.yerIsmi }}\r\n @if (!saltOkunur) {\r\n \r\n }\r\n \r\n }\r\n\r\n \r\n @if (icerik?.ek?.yuzEtiketGosterim === 'liste' && icerik?.ek?.yuzEtiketleri?.length) {\r\n
\r\n @for (etiket of icerik.ek.yuzEtiketleri; track etiket.id + '-' + $index) {\r\n \r\n @if (etiket.kisiId) {\r\n \r\n }\r\n {{ etiket.kisiIsmi }}\r\n \r\n }\r\n
\r\n }\r\n
\r\n }\r\n \r\n @if(icerik?.ek?.turu === 'VIDEO'){\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n {{okunabilirBoyut(icerik?.ek?.boyut)}}\r\n\r\n \r\n Video\r\n \r\n\r\n @if (!saltOkunur) {\r\n \r\n }\r\n @if (icerik?.ek?.konum?.yerIsmi) {\r\n \r\n {{ icerik.ek.konum.yerIsmi }}\r\n @if (!saltOkunur) {\r\n \r\n }\r\n \r\n }\r\n
\r\n }\r\n \r\n @if(icerik?.ek?.turu === 'SES'){\r\n
\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n {{okunabilirBoyut(icerik?.ek?.boyut)}}\r\n\r\n \r\n Ses\r\n \r\n\r\n @if (!saltOkunur && !icerik?.ek?.transkript) {\r\n \r\n }\r\n
\r\n @if (icerik?.ek?.transkript) {\r\n
\r\n \r\n {{ icerik.ek.transkript }}\r\n
\r\n }\r\n }\r\n \r\n @if(icerik?.ek?.turu === 'DOSYA'){\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n {{ icerik?.ek?.ismi }}\r\n
\r\n
\r\n {{okunabilirBoyut(icerik?.ek?.boyut)}}\r\n
\r\n \r\n
\r\n\r\n {{okunabilirBoyut(icerik?.ek?.boyut)}}\r\n\r\n \r\n Dosya\r\n \r\n\r\n \r\n @if (icerik?.ek?.ismi?.endsWith('.stp') || icerik?.ek?.ismi?.endsWith('.step') || icerik?.ek?.ismi?.endsWith('.wrl') || icerik?.ek?.ismi?.endsWith('.FikoWrl')) {\r\n
\r\n \r\n \r\n
\r\n }\r\n\r\n @if (!saltOkunur) {\r\n \r\n }\r\n @if (icerik?.ek?.konum?.yerIsmi) {\r\n \r\n {{ icerik.ek.konum.yerIsmi }}\r\n @if (!saltOkunur) {\r\n \r\n }\r\n \r\n }\r\n
\r\n }\r\n \r\n @if(icerik?.ek?.turu === 'YOUTUBE'){\r\n
\r\n\r\n @if (icerik?.ek?.yid) {\r\n
\r\n }\r\n\r\n @if (!icerik?.ek?.yid) {\r\n
\r\n \r\n
\r\n }\r\n\r\n \r\n\r\n \r\n
\r\n }\r\n\r\n \r\n @if(icerik?.ek?.turu=='FIKOGL' || icerik?.ek?.turu=='FIKOGLS' || icerik?.ek?.turu=='FIKOOPGL'||\r\n icerik?.ek?.turu=='FIKOOPGLv1'){\r\n
\r\n\r\n \r\n\r\n @if (!saltOkunur){\r\n \r\n }\r\n \r\n\r\n \r\n\r\n {{okunabilirBoyut(icerik?.ek?.boyut)}}\r\n\r\n \r\n 3D\r\n \r\n\r\n
\r\n }\r\n\r\n \r\n @if(icerik?.ek?.turu === 'REFERANS'){\r\n
\r\n\r\n @if (icerik?.ek?.rid) {\r\n @if (referansKartYukleniyor) {\r\n
\r\n Referans kart yükleniyor...\r\n
\r\n }\r\n \r\n \r\n }\r\n\r\n @if (!icerik?.ek?.rid) {\r\n
\r\n \r\n
\r\n }\r\n\r\n \r\n\r\n \r\n
\r\n }\r\n\r\n \r\n @if(icerik?.ek?.turu === 'UYARDOKUM'){\r\n
\r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n }\r\n\r\n \r\n @if(icerik?.ek?.turu === 'EKREFERANS'){\r\n
\r\n\r\n \r\n @if (icerik?.ek?.bilgiler?.orijinalTuru === 'RESIM') {\r\n
\r\n \r\n\r\n \r\n @if (resimAlani && (icerik?.ek?.yuzEtiketGosterim !== 'kapali' || yuzEtiketModuAktif) && (icerik?.ek?.yuzEtiketleri?.length || bekleyenEtiket || yuzEtiketModuAktif || duzenlenenEtiketId)) {\r\n
\r\n\r\n @if (icerik?.ek?.yuzEtiketleri?.length) {\r\n
\r\n @for (etiket of icerik.ek.yuzEtiketleri; track etiket.id + '-' + $index) {\r\n
\r\n {{ etiket.kisiIsmi }}\r\n @if (!saltOkunur) {\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n }\r\n
\r\n }\r\n\r\n @if (bekleyenEtiket && !lightboxAcik) {\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n\r\n
\r\n }\r\n\r\n \r\n @if (resimAlani && (editorOtomatikYuzler?.length || editorYuzTespitYukleniyor)) {\r\n
\r\n\r\n @if (editorYuzTespitYukleniyor) {\r\n
\r\n Yüzler tespit ediliyor...\r\n
\r\n }\r\n\r\n @for (yuz of editorOtomatikYuzler; track yuz.id; let i = $index) {\r\n
\r\n \r\n @if (yuz.enYakinEslesme) { {{ yuz.enYakinEslesme.ad }} {{ (1 - yuz.enYakinEslesme.mesafe) * 100 | number:'1.0-0' }}% }\r\n @if (!yuz.enYakinEslesme) { ? }\r\n \r\n
\r\n @if (yuz.enYakinEslesme) {\r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n \r\n @if (yuz.eslesmeler?.length || editorOtomatikYuzAramaSonuclari.length) {\r\n
\r\n @for (eslesme of yuz.eslesmeler; track eslesme.kisi_id) {\r\n
\r\n \r\n {{ eslesme.ad }}\r\n {{ (1 - eslesme.mesafe) * 100 | number:'1.0-0' }}%\r\n
\r\n }\r\n @for (sonuc of editorOtomatikYuzAramaSonuclari; track sonuc._id) {\r\n
\r\n @if (sonuc.kaynak === 'soyagaci' && sonuc.resimUrl) { }\r\n @if (sonuc.kaynak === 'soyagaci' && !sonuc.resimUrl) { }\r\n @if (sonuc.kaynak !== 'soyagaci') { }\r\n {{ sonuc.ismi }}\r\n @if (sonuc.kaynak === 'soyagaci') { Aile }\r\n
\r\n }\r\n
\r\n }\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n }\r\n
\r\n }\r\n\r\n \r\n @if (icerik?.ek?.bilgiler?.orijinalTuru === 'VIDEO') {\r\n
\r\n \r\n
\r\n }\r\n\r\n \r\n @if (icerik?.ek?.bilgiler?.orijinalTuru === 'SES') {\r\n
\r\n \r\n \r\n
\r\n }\r\n\r\n \r\n @if (icerik?.ek?.bilgiler?.orijinalTuru === 'DOSYA') {\r\n
\r\n
\r\n
{{ icerik?.ek?.ismi }}
\r\n
{{okunabilirBoyut(icerik?.ek?.boyut)}}
\r\n \r\n
\r\n
\r\n }\r\n\r\n \r\n @if (icerik?.ek?.bilgiler?.orijinalTuru === 'FIKOGL' || icerik?.ek?.bilgiler?.orijinalTuru === 'FIKOGLS'\r\n || icerik?.ek?.bilgiler?.orijinalTuru === 'FIKOOPGL' || icerik?.ek?.bilgiler?.orijinalTuru === 'FIKOOPGLv1') {\r\n
\r\n \r\n
\r\n }\r\n\r\n @if (!saltOkunur) {\r\n \r\n }\r\n\r\n \r\n\r\n \r\n @if (gercekReferansMi && icerik?.ek?.bilgiler?.kartId) {\r\n \r\n \r\n \r\n }\r\n\r\n {{okunabilirBoyut(icerik?.ek?.boyut)}}\r\n\r\n \r\n @switch (icerik?.ek?.bilgiler?.orijinalTuru) {\r\n @case ('RESIM') { }\r\n @case ('VIDEO') { }\r\n @case ('SES') { }\r\n @case ('DOSYA') { }\r\n @default { }\r\n }\r\n @if (gercekReferansMi) {\r\n Referans\r\n @if (icerik?.ek?.bilgiler?.referansSayisi > 1) {\r\n {{ icerik.ek.bilgiler.referansSayisi }}\r\n }\r\n } @else {\r\n {{ {RESIM:'Resim',VIDEO:'Video',SES:'Ses',DOSYA:'Dosya'}[icerik?.ek?.bilgiler?.orijinalTuru] || icerik?.ek?.bilgiler?.orijinalTuru }}\r\n }\r\n \r\n\r\n \r\n @if (gercekReferansMi && icerik?.ek?.bilgiler?.sahip) {\r\n
\r\n \r\n @if (icerik?.ek?.bilgiler?.sahipIsim) {\r\n {{ icerik.ek.bilgiler.sahipIsim }}\r\n }\r\n @if (icerik?.ek?.bilgiler?.orijinalTarih) {\r\n {{ icerik.ek.bilgiler.orijinalTarih | date:'dd MMM yyyy HH:mm' }}\r\n }\r\n
\r\n }\r\n
\r\n }\r\n\r\n \r\n @if(icerik?.ek?.turu === 'KONUM'){\r\n
\r\n
\r\n
\r\n \r\n {{ icerik.ek.bilgiler?.yerIsmi }}\r\n
\r\n\r\n @if (!saltOkunur){\r\n \r\n \r\n }\r\n\r\n \r\n Konum\r\n \r\n
\r\n }\r\n\r\n \r\n @if(icerik?.ek?.turu === 'YAPAYZEKA'){\r\n
\r\n\r\n \r\n\r\n\r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n Yapay Zeka\r\n\r\n \r\n \r\n \r\n
\r\n }\r\n
\r\n\r\n\r\n\r\n\r\n@if (icerik?.ek?.turu === 'UYGULAMAICERIK' && !dinamikBilesenId) {\r\n
\r\n \r\n @if (!parametreSetiVar) {\r\n
\r\n \r\n
\r\n }\r\n \r\n \r\n\r\n @if (icerik?.ek?.parametreler?.length > 0) {\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n @if (tasarimModu) {\r\n \r\n \r\n }\r\n\r\n \r\n \r\n }\r\n
\r\n}\r\n\r\n\r\n@if (icerik && !sayfaKurallari?.metinEngelle) {\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n @if (yuzEtiketAramaSonuclari.length) {\r\n
\r\n @for (kisi of yuzEtiketAramaSonuclari; track kisi._id || kisi.ismi) {\r\n
\r\n @if (kisi.kaynak === 'soyagaci' && kisi.resimUrl) { }\r\n @if (kisi.kaynak === 'soyagaci' && !kisi.resimUrl) { }\r\n @if (kisi.kaynak !== 'soyagaci') { }\r\n {{ kisi.ismi }}\r\n @if (kisi.kaynak === 'soyagaci') { Aile }\r\n
\r\n }\r\n
\r\n }\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n @if (yuzEtiketAramaSonuclari.length) {\r\n
\r\n @for (kisi of yuzEtiketAramaSonuclari; track kisi._id || kisi.ismi) {\r\n
\r\n @if (kisi.kaynak === 'soyagaci' && kisi.resimUrl) { }\r\n @if (kisi.kaynak === 'soyagaci' && !kisi.resimUrl) { }\r\n @if (kisi.kaynak !== 'soyagaci') { }\r\n {{ kisi.ismi }}\r\n
\r\n }\r\n
\r\n }\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n @if (acikBalonEtiket) {\r\n \r\n \r\n }\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n {{ (lightboxZoom * 100) | number:'1.0-0' }}%\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n @if (!saltOkunur) {\r\n \r\n }\r\n @if (icerik?.ek?.yuzEtiketleri?.length) {\r\n \r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n
1 ? 'grab' : 'default')\"\r\n (mousedown)=\"lightboxPanBasla($event)\"\r\n (dblclick)=\"lightboxCiftTiklandi()\">\r\n
\r\n \r\n\r\n \r\n @if (lightboxResimAlani && (icerik?.ek?.yuzEtiketGosterim !== 'kapali' || yuzEtiketModuAktif) && (icerik?.ek?.yuzEtiketleri?.length || bekleyenEtiket || yuzEtiketModuAktif || duzenlenenEtiketId)) {\r\n
\r\n\r\n @if (icerik?.ek?.yuzEtiketleri?.length) {\r\n
\r\n @for (etiket of icerik.ek.yuzEtiketleri; track etiket.id + '-' + $index) {\r\n
\r\n @if (!saltOkunur) {\r\n
\r\n }\r\n {{ etiket.kisiIsmi }}\r\n @if (!saltOkunur) {\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n }\r\n
\r\n }\r\n\r\n @if (bekleyenEtiket && lightboxAcik) {\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n\r\n
\r\n }\r\n\r\n \r\n @if (lightboxResimAlani && (editorOtomatikYuzler?.length || editorYuzTespitYukleniyor)) {\r\n
\r\n @if (editorYuzTespitYukleniyor) {\r\n
\r\n Yüzler tespit ediliyor...\r\n
\r\n }\r\n @for (yuz of editorOtomatikYuzler; track yuz.id; let i = $index) {\r\n
\r\n \r\n @if (yuz.enYakinEslesme) { {{ yuz.enYakinEslesme.ad }} {{ (1 - yuz.enYakinEslesme.mesafe) * 100 | number:'1.0-0' }}% }\r\n @if (!yuz.enYakinEslesme) { ? }\r\n \r\n
\r\n @if (yuz.enYakinEslesme) {\r\n \r\n }\r\n \r\n
\r\n \r\n
\r\n \r\n @if (yuz.eslesmeler?.length || editorOtomatikYuzAramaSonuclari.length) {\r\n
\r\n @for (eslesme of yuz.eslesmeler; track eslesme.kisi_id) {\r\n
\r\n \r\n {{ eslesme.ad }}\r\n {{ (1 - eslesme.mesafe) * 100 | number:'1.0-0' }}%\r\n
\r\n }\r\n @for (sonuc of editorOtomatikYuzAramaSonuclari; track sonuc._id) {\r\n
\r\n @if (sonuc.kaynak === 'soyagaci' && sonuc.resimUrl) { }\r\n @if (sonuc.kaynak === 'soyagaci' && !sonuc.resimUrl) { }\r\n @if (sonuc.kaynak !== 'soyagaci') { }\r\n {{ sonuc.ismi }}\r\n @if (sonuc.kaynak === 'soyagaci') { Aile }\r\n
\r\n }\r\n
\r\n }\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n }\r\n
\r\n
\r\n\r\n \r\n @if (icerik?.ek?.yuzEtiketleri?.length) {\r\n
\r\n
\r\n @for (etiket of icerik.ek.yuzEtiketleri; track etiket.id) {\r\n \r\n @if (etiket.kisiId) {\r\n \r\n } @else {\r\n {{ (etiket.kisiIsmi || '?')[0] }}\r\n }\r\n {{ etiket.kisiIsmi }}\r\n \r\n }\r\n
\r\n @if (icerik?.ek?.boyut) {\r\n {{ okunabilirBoyut(icerik.ek.boyut) }}\r\n }\r\n
\r\n }\r\n
\r\n\r\n","import { FikoYTEnvIstemci } from '@/src/service/Environment/environment';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ComponentRef, ElementRef, EventEmitter, Inject, Injector, input, Input, model, OnDestroy, OnInit, Output, ViewChild, ViewContainerRef } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Router, RouterModule } from '@angular/router';\r\nimport { PaylasTextEditorComponent } from '../../IKart/paylas-text-editor/paylas-text-editor.component';\r\nimport { FormsModule } from '@angular/forms';\r\n// import { KartComponent } from '../../kart/kart.component';\r\n// import { NgZorroModulleri } from '@/src/app/servisler/FikoYT/moduller/ng-zorro.module';\r\nimport { YapayZekaComponent } from './yapay-zeka/yapay-zeka.component';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { IIcerik, IEkTuru, IYuzEtiketi } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\r\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\r\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\r\nimport { NzTooltipModule } from 'ng-zorro-antd/tooltip';\r\nimport { NzPopoverModule } from 'ng-zorro-antd/popover';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { FikoSesOynaticiComponent } from '@/src/service/fikoyt-ui/src/lib/fiko-ses-oynatici/fiko-ses-oynatici.component';\r\nimport { IUyarKartComponent } from './IUyarDokum/uyar-kutusu.component';\r\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\r\nimport { escapeRegex } from '@/src/app/shared/utils/regex.utils';\r\nimport { KisiBalonV2Component } from '@/src/app/shared/components/kisi-balon/kisi-balon.component';\r\nimport { ParametreSetiSeciciComponent } from '../parametre-seti-secici/parametre-seti-secici.component';\r\nimport { ParametrelerComponent } from '../../../../parametreler/parametreler.component';\r\nimport { FikoTasarimEditoruComponent } from '../../../fiko-tasarim-editoru/fiko-tasarim-editoru.component';\r\nimport { ISablon, bosISablon } from '../../../sablon-editoru/sablon.interface';\r\nimport { DinamikBilesenRendererComponent } from '../../../../dinamik-bilesen/dinamik-bilesen-renderer.component';\r\nimport { FikoStpOnizlemeKartiComponent } from '@/src/service/fikoyt-ui/src/lib/fiko-three-js/fiko-stp-onizleme-karti/fiko-stp-onizleme-karti.component';\r\n\r\ndeclare var $: any;\r\ndeclare var imageCompression: any\r\n\r\n@Component({\r\n selector: 'fikoyt-paylas-icerik-editor',\r\n templateUrl: './paylas-icerik-editor.component.html',\r\n styleUrls: ['./paylas-icerik-editor.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n PaylasTextEditorComponent,\r\n YapayZekaComponent,\r\n NzWaveModule,\r\n NzPopconfirmModule,\r\n NzTooltipModule,\r\n NzInputModule,\r\n NzButtonModule,\r\n FikoSesOynaticiComponent,\r\n IUyarKartComponent,\r\n KisiBalonV2Component,\r\n NzPopoverModule,\r\n ParametreSetiSeciciComponent,\r\n ParametrelerComponent,\r\n FikoTasarimEditoruComponent,\r\n DinamikBilesenRendererComponent,\r\n FikoStpOnizlemeKartiComponent,\r\n ]\r\n})\r\nexport class PaylasIcerikEditorComponent extends FikoYTKokBilesenComponent implements AfterViewInit, OnDestroy {\r\n @ViewChild('referansKonteynir', { read: ViewContainerRef }) referansKonteynir: ViewContainerRef;\r\n @ViewChild('konumEditorHarita') konumEditorHarita: ElementRef;\r\n @ViewChild('lightboxOverlay') lightboxOverlay: ElementRef;\r\n @ViewChild('sablonEditoruRef') sablonEditoruRef: any;\r\n @ViewChild(ParametreSetiSeciciComponent) private parametreSetiSecici: ParametreSetiSeciciComponent;\r\n private referansBilesenRef: ComponentRef = null;\r\n private konumLeafletMap: any = null;\r\n private konumHaritaAktifId: string = null;\r\n\r\n @Input() saltOkunur = false;\r\n @Input() dinamikBilesenId: string | null = null;\r\n dinamikParametreler = model(null);\r\n /** */\r\n kart = input(null);\r\n /** */\r\n private _icerik: IIcerik | any;\r\n public get icerik(): IIcerik | any {\r\n return this._icerik;\r\n }\r\n @Input() public set icerik(v: IIcerik | any) {\r\n this._icerik = v;\r\n this.icerikChange.emit(v);\r\n setTimeout(() => {\r\n $('.ui.embed').embed({\r\n source: \"youtube\",\r\n brandedUI: true\r\n });\r\n }, 0);\r\n // Sunucudan gelen medya ekleri → EKREFERANS'a dönüştür\r\n if (v?.ek && v.ek._id && !v.ek.dosya && v.ek.turu !== IEkTuru.EKREFERANS\r\n && v.ek.turu !== IEkTuru.REFERANS && v.ek.turu !== IEkTuru.YOUTUBE\r\n && v.ek.turu !== IEkTuru.UYARDOKUM && v.ek.turu !== IEkTuru.YAPAYZEKA\r\n && v.ek.turu !== IEkTuru.KONUM\r\n // NOT: DOSYA ve CAD/3D türleri hariç tutulmalı — icerikler.component.html'deki\r\n // *ngIf=\"aktifIcerik?.ek?.turu == 'DOSYA'\" bloğu (STP/WRL algılama dahil) buna bağlı.\r\n // Bu türü EKREFERANS'a çevirmek 3D dosyayı kalıcı olarak \"algılanamaz\" hale getiriyordu.\r\n && v.ek.turu !== IEkTuru.DOSYA && v.ek.turu !== IEkTuru.FIKOWRL\r\n && v.ek.turu !== IEkTuru.STL && v.ek.turu !== IEkTuru.DXF\r\n && v.ek.turu !== IEkTuru.FIKOGL && v.ek.turu !== IEkTuru.FIKOGLS\r\n && v.ek.turu !== IEkTuru.FIKOOPGL && v.ek.turu !== IEkTuru.FIKOOPGLv1) {\r\n this.sunucuMedyayiEkReferansaDonustur(v.ek);\r\n }\r\n // Referans kart varsa dinamik yükle\r\n if (v?.ek?.turu === IEkTuru.REFERANS && v?.ek?.rid) {\r\n this.referansKartYukle(v.ek.rid);\r\n }\r\n this.CD.detectChanges();\r\n }\r\n @Output() icerikChange: EventEmitter = new EventEmitter();\r\n\r\n /** Önizleme modu: parametreleri gösterim modunda göster */\r\n onizlemeModu = false;\r\n\r\n /** Parametre seti butonu gösterilsin mi */\r\n @Input() parametreSetiVar = false;\r\n /** Parametre seti butonu aktif mi (panel açık) */\r\n @Input() parametreSetiAcik = false;\r\n /** Aktif sayfa kuralları — içerik kısıtlamaları */\r\n @Input() sayfaKurallari: any = null;\r\n /** Parametre seti grupları */\r\n @Input() parametreSetleri: any[] = [];\r\n /** Aktif sayfanın seçili set id'si */\r\n @Input() seciliSetId: string | null = null;\r\n /** Kullanıcı yetkileri */\r\n @Input() kullaniciYetkileri: string[] = [];\r\n /** Kartın parametreleri */\r\n @Input() kartParametreler: any[] = [];\r\n tasarimModu = false;\r\n /** Parametre seti butonuna tıklandığında */\r\n @Output() parametreSetiTiklandi = new EventEmitter();\r\n /** Set seçildiğinde */\r\n @Output() setSecildi = new EventEmitter();\r\n /** Set kaldırıldığında */\r\n @Output() setKaldirildi = new EventEmitter();\r\n /** Parametreler değiştiğinde */\r\n @Output() parametrelerDegisti = new EventEmitter();\r\n\r\n /** Uygulama seti seçildiğinde — parametreleri ek'e yaz */\r\n onUygulamaSecildi(olay: any) {\r\n if (this.icerik?.ek?.turu === 'UYGULAMAICERIK') {\r\n this.icerik.ek.parametreler = olay.parametreler;\r\n this.icerik.ek._secilenSetId = olay.setId;\r\n if (olay.bilesen) {\r\n this.icerik.ek.bilesen = olay.bilesen;\r\n } else {\r\n delete this.icerik.ek.bilesen;\r\n }\r\n if (olay.bilesenGorunum) {\r\n this.icerik.ek.bilesenGorunum = olay.bilesenGorunum;\r\n }\r\n delete this.icerik.ek.sablonOverride;\r\n delete this.icerik.ek.sablon;\r\n }\r\n this.tasarimModu = false;\r\n this.setSecildi.emit(olay);\r\n this.icerikChange.emit(this.icerik);\r\n this.CD.detectChanges();\r\n // Otomatik Kod parametrelerini üret\r\n this.otomatikKodlariUret();\r\n }\r\n\r\n private otomatikKodlariUret() {\r\n setTimeout(() => {\r\n const parametrelerRef = this.icerik?.ek?.parametreler ?? [];\r\n for (const p of parametrelerRef) {\r\n if (p.turu === 'Otomatik Kod' && !p.degeri) {\r\n // parametreler.component'teki otomatikKodUret'i simüle et\r\n const format = p.ayarlar?.kodFormat || '{PREFIX}-{YIL}-{SAYI:3}';\r\n const now = new Date();\r\n let kod = format\r\n .replace(/\\{PREFIX\\}/gi, p.ayarlar?.kodPrefix ?? 'PRJ')\r\n .replace(/\\{YIL\\}/gi, '' + now.getFullYear())\r\n .replace(/\\{AY\\}/gi, String(now.getMonth() + 1).padStart(2, '0'))\r\n .replace(/\\{GUN\\}/gi, String(now.getDate()).padStart(2, '0'))\r\n .replace(/\\{SAAT\\}/gi, String(now.getHours()).padStart(2, '0'))\r\n .replace(/\\{DAKIKA\\}/gi, String(now.getMinutes()).padStart(2, '0'))\r\n .replace(/\\{SAYI(?::(\\d+))?\\}/gi, (_, hane) => String(1).padStart(parseInt(hane || '3', 10), '0'));\r\n // Parametre referansları\r\n const sistemDeg = ['PREFIX', 'YIL', 'AY', 'GUN', 'SAAT', 'DAKIKA'];\r\n kod = kod.replace(/\\{([^}:]+)\\}/g, (eslesme, ismi) => {\r\n if (sistemDeg.includes(ismi.toUpperCase()) || ismi.toUpperCase().startsWith('SAYI')) return eslesme;\r\n const diger = parametrelerRef.find((pr: any) => pr.ismi === ismi);\r\n return (diger?.degeri != null && diger.degeri !== '') ? '' + diger.degeri : '';\r\n });\r\n p.degeri = kod;\r\n }\r\n }\r\n this.CD.detectChanges();\r\n }, 100);\r\n }\r\n\r\n /** Uygulama seçimi kaldırıldığında */\r\n onUygulamaKaldirildi() {\r\n if (this.icerik?.ek?.turu === 'UYGULAMAICERIK') {\r\n this.icerik.ek.parametreler = [];\r\n delete this.icerik.ek._secilenSetId;\r\n delete this.icerik.ek.sablonOverride;\r\n delete this.icerik.ek.sablon;\r\n }\r\n this.tasarimModu = false;\r\n this.parametreSetiSecici?.secimSifirla();\r\n this.setKaldirildi.emit();\r\n this.icerikChange.emit(this.icerik);\r\n this.CD.detectChanges();\r\n }\r\n\r\n aktifSablon(): ISablon {\r\n if (this.icerik?.ek?.sablonOverride) return this.icerik.ek.sablonOverride;\r\n if (this.icerik?.ek?.sablon) return this.icerik.ek.sablon;\r\n const setSablonu = this.seciliSetSablonBul();\r\n if (setSablonu) return setSablonu;\r\n return bosISablon();\r\n }\r\n\r\n private seciliSetSablonBul(): ISablon | null {\r\n if (!this.seciliSetId || !this.parametreSetleri?.length) return null;\r\n for (const grup of this.parametreSetleri) {\r\n if (grup.id === this.seciliSetId && grup.sablon) return grup.sablon;\r\n for (const alt of (grup.altGruplar ?? [])) {\r\n if (alt.id === this.seciliSetId && alt.sablon) return alt.sablon;\r\n for (const altKart of (alt.altKartSablonlari ?? [])) {\r\n if (altKart.id === this.seciliSetId && (altKart as any).sablon) return (altKart as any).sablon;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n sablonGuncelle(sablon: ISablon) {\r\n if (!this.icerik?.ek) return;\r\n this.icerik.ek.sablonOverride = sablon;\r\n // Sablon dosyalarını ek'e aktar (Fikola'da FormData'ya eklenecek)\r\n if (this.sablonEditoruRef?.sablonDosyalariAl) {\r\n this.icerik.ek._sablonDosyalar = this.sablonEditoruRef.sablonDosyalariAl();\r\n }\r\n this.icerikChange.emit(this.icerik);\r\n }\r\n\r\n /** Sunucudan gelen medya eklerini EKREFERANS türüne dönüştürür (kart referansı gibi çalışır) */\r\n private sunucuMedyayiEkReferansaDonustur(ek: any) {\r\n if (!ek?._id) return;\r\n // Orijinal türü bilgiler içinde sakla\r\n if (!ek.bilgiler) ek.bilgiler = {};\r\n ek.bilgiler.orijinalTuru = ek.turu;\r\n // Türü EKREFERANS olarak değiştir\r\n ek.turu = IEkTuru.EKREFERANS;\r\n }\r\n\r\n /** EKREFERANS gerçek referans mı (başka birinin içeriği) yoksa kendi içeriğimiz mi? */\r\n get gercekReferansMi(): boolean {\r\n const ekSahip = this.icerik?.ek?.bilgiler?.sahip;\r\n return !!ekSahip && ekSahip !== this.kart()?.sahip;\r\n }\r\n\r\n // Referans kart verisi\r\n referansKartYukleniyor = false;\r\n\r\n // Yüz etiketleme\r\n yuzEtiketModuAktif = false;\r\n bekleyenEtiket: { x: number; y: number; w: number; h: number } | null = null;\r\n yuzEtiketAramaMetni = '';\r\n yuzEtiketAramaSonuclari: any[] = [];\r\n private yuzEtiketAramaTimer: any = null;\r\n suruklenenEtiketId: string | null = null;\r\n private suruklemeBilgi: { yon: string; baslangicX: number; baslangicY: number; baslangicRect: { x: number; y: number; w: number; h: number } } | null = null;\r\n // Gerçek resim alanı (object-fit: contain hesabı)\r\n resimAlani: { left: number; top: number; width: number; height: number } | null = null;\r\n private resimAlaniObserver: ResizeObserver | null = null;\r\n private sonResimEl: HTMLImageElement | null = null;\r\n\r\n // Otomatik yüz tespiti (editör modunda)\r\n editorOtomatikYuzler: any[] = [];\r\n editorYuzTespitYukleniyor = false;\r\n editorOtomatikYuzAktifIdx: number | null = null;\r\n editorOtomatikYuzAramaMetni = '';\r\n editorOtomatikYuzAramaSonuclari: any[] = [];\r\n private editorYuzTespitTimer: any = null;\r\n private editorOtomatikYuzAramaTimer: any = null;\r\n private editorYuzTespitEkId: string | null = null;\r\n\r\n // Lightbox (gerçek tam ekran)\r\n lightboxAcik = false;\r\n lightboxZoom = 1;\r\n lightboxPanX = 0;\r\n lightboxPanY = 0;\r\n lightboxResimAlani: { left: number; top: number; width: number; height: number } | null = null;\r\n private lightboxKeydownHandler: ((e: KeyboardEvent) => void) | null = null;\r\n private lightboxSurukBilgi: { aktif: boolean; baslangicX: number; baslangicY: number; oncekiPanX: number; oncekiPanY: number } | null = null;\r\n\r\n // Aktif medya takibi (ses oynatıcı için)\r\n aktifMedya: string = null;\r\n\r\n // Mikrofon kayıt sistemi\r\n mikrofonKayitAktif = false;\r\n mikrofonSure = 0;\r\n mikrofonMenuGoster = false;\r\n whisperYukleniyor = false;\r\n onizlemeOynuyor = false;\r\n onizlemeIlerleme = 0;\r\n private mediaRecorder: MediaRecorder = null;\r\n private kayitParcalari: Blob[] = [];\r\n\r\n private kayitStream: MediaStream = null;\r\n private kayitTimer: any = null;\r\n private kayitBlob: Blob = null;\r\n private onizlemeAudio: HTMLAudioElement = null;\r\n\r\n constructor() {\r\n super();\r\n // setTimeout(() => {\r\n // this.CD.detach();\r\n // })\r\n // if (\"launchQueue\" in window) {\r\n // //@ts-ignore\r\n // window.launchQueue.setConsumer(async (launchParams) => {\r\n\r\n // if (launchParams.files && launchParams.files.length) {\r\n\r\n // for (let i = 0; i < launchParams.files.length; i++) {\r\n // const file = await launchParams.files[i].getFile();\r\n\r\n // if (file.type.indexOf('image') === 0) {\r\n // if (i == 0) {\r\n // this.FikoYT.paylas.kart.veri.icerikler[0].ek = this.resimEkle(file);\r\n // } else {\r\n // await this.FikoYT.paylas.icerikEkle(await this.resimEkle(file));\r\n // }\r\n // }\r\n // }\r\n // }\r\n // this.FikoYT.degisti.emit();\r\n // // this.CD.detectChanges();\r\n // });\r\n // }\r\n }\r\n\r\n\r\n override ngAfterViewInit(): void {\r\n super.ngAfterViewInit();\r\n $('.ui.embed').embed({\r\n brandedUI: true\r\n });\r\n\r\n // Lightbox'ı body'e taşı (parent transform'lar position:fixed'ı bozuyor)\r\n if (this.lightboxOverlay?.nativeElement) {\r\n this.document.body.appendChild(this.lightboxOverlay.nativeElement);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.lightboxKeydownHandler) {\r\n this.document.removeEventListener('keydown', this.lightboxKeydownHandler);\r\n this.lightboxKeydownHandler = null;\r\n }\r\n if (this.lightboxAcik) {\r\n this.document.body.style.overflow = '';\r\n this.document.body.classList.remove('fikoyt-lightbox-aktif');\r\n }\r\n // Lightbox'ı body'den temizle\r\n if (this.lightboxOverlay?.nativeElement?.parentNode === this.document.body) {\r\n this.lightboxOverlay.nativeElement.remove();\r\n }\r\n if (this.konumLeafletMap) {\r\n this.konumLeafletMap.remove();\r\n this.konumLeafletMap = null;\r\n }\r\n if (this.resimAlaniObserver) {\r\n this.resimAlaniObserver.disconnect();\r\n this.resimAlaniObserver = null;\r\n }\r\n // Timer, ses kayit ve arama temizligi (memory leak onleme)\r\n if (this.kayitTimer) {\r\n clearInterval(this.kayitTimer);\r\n this.kayitTimer = null;\r\n }\r\n if (this.yuzEtiketAramaTimer) {\r\n clearTimeout(this.yuzEtiketAramaTimer);\r\n this.yuzEtiketAramaTimer = null;\r\n }\r\n if (this.editorYuzTespitTimer) {\r\n clearTimeout(this.editorYuzTespitTimer);\r\n this.editorYuzTespitTimer = null;\r\n }\r\n if (this.editorOtomatikYuzAramaTimer) {\r\n clearTimeout(this.editorOtomatikYuzAramaTimer);\r\n this.editorOtomatikYuzAramaTimer = null;\r\n }\r\n if (this.kayitStream) {\r\n this.kayitStream.getTracks().forEach(t => t.stop());\r\n this.kayitStream = null;\r\n }\r\n if (this.onizlemeAudio) {\r\n this.onizlemeAudio.pause();\r\n if (this.onizlemeAudio.src) URL.revokeObjectURL(this.onizlemeAudio.src);\r\n this.onizlemeAudio = null;\r\n }\r\n if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') {\r\n this.mediaRecorder.stop();\r\n }\r\n this.mediaRecorder = null;\r\n super.ngOnDestroy();\r\n }\r\n\r\n async konumHaritaBaslat() {\r\n const ek = this.icerik?.ek;\r\n if (ek?.turu !== IEkTuru.KONUM || !ek?.bilgiler?.koordinat) return;\r\n\r\n // Element'i bekle\r\n this.CD.detectChanges();\r\n await new Promise(r => setTimeout(r, 100));\r\n\r\n if (!this.konumEditorHarita?.nativeElement) return;\r\n\r\n if (this.konumLeafletMap) {\r\n this.konumLeafletMap.remove();\r\n this.konumLeafletMap = null;\r\n }\r\n\r\n const L = await import('leaflet').then(m => m.default ?? m);\r\n const { lat, lng } = ek.bilgiler.koordinat;\r\n const el = this.konumEditorHarita.nativeElement;\r\n const map = L.map(el, { zoomControl: false, attributionControl: false }).setView([lat, lng], 13);\r\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);\r\n const pinIcon = L.divIcon({\r\n className: '',\r\n html: `\r\n \r\n \r\n \r\n \r\n `,\r\n iconSize: [32, 42],\r\n iconAnchor: [16, 42],\r\n });\r\n L.marker([lat, lng], { icon: pinIcon }).addTo(map);\r\n this.konumLeafletMap = map;\r\n setTimeout(() => map.invalidateSize(), 300);\r\n }\r\n\r\n\r\n\r\n\r\n tiklandiEkSil($event: any) {\r\n this.icerik.ek = undefined;\r\n if (this.konumLeafletMap) {\r\n this.konumLeafletMap.remove();\r\n this.konumLeafletMap = null;\r\n this.konumHaritaAktifId = null;\r\n }\r\n this.CD.detectChanges();\r\n }\r\n\r\n tiklandiIcerikTamEkran(elem: any) {\r\n // RESIM türünde lightbox aç\r\n if (this.icerik?.ek?.turu === IEkTuru.RESIM || this.icerik?.ek?.bilgiler?.orijinalTuru === 'RESIM') {\r\n this.lightboxAc();\r\n return;\r\n }\r\n // Diğer türler için native fullscreen\r\n if (!this.document.fullscreenElement) {\r\n if (elem.requestFullscreen) {\r\n elem.requestFullscreen();\r\n } else if (elem.webkitRequestFullscreen) {\r\n elem.webkitRequestFullscreen();\r\n }\r\n } else {\r\n if (this.document.exitFullscreen) {\r\n this.document.exitFullscreen();\r\n }\r\n }\r\n }\r\n\r\n get lightboxResimUrl(): any {\r\n if (this.icerik?.ek?.turu === IEkTuru.RESIM) return this.icerik.ek.dosyaObjectUrl;\r\n if (this.icerik?.ek?.turu === IEkTuru.EKREFERANS && this.icerik.ek.bilgiler?.orijinalTuru === 'RESIM') {\r\n return this.FikoYT.fapiUrl + '/fapiv1/fikoyt.com.FikoYT.sistem.dosyalar.' + this.icerik.ek._id + '.resim?boyut=1920x?&t=0';\r\n }\r\n return this.icerik?.ek?.dosyaObjectUrl;\r\n }\r\n\r\n lightboxAc() {\r\n this.lightboxAcik = true;\r\n this.lightboxZoom = 1;\r\n this.lightboxPanX = 0;\r\n this.lightboxPanY = 0;\r\n this.lightboxResimAlani = null;\r\n this.document.body.style.overflow = 'hidden';\r\n this.document.body.classList.add('fikoyt-lightbox-aktif');\r\n this.lightboxKeydownHandler = (e: KeyboardEvent) => this.lightboxKeydown(e);\r\n this.document.addEventListener('keydown', this.lightboxKeydownHandler);\r\n this.CD.detectChanges();\r\n // display:none→flex geçişinde resim zaten yüklüyse alan hesapla\r\n this._lightboxResimAlaniHesapla();\r\n }\r\n\r\n /** Lightbox resim alanını hesapla (double-RAF ile layout garantisi) */\r\n private _lightboxResimAlaniHesapla() {\r\n requestAnimationFrame(() => {\r\n requestAnimationFrame(() => {\r\n const img = this.lightboxOverlay?.nativeElement?.querySelector('.lightbox-resim') as HTMLImageElement;\r\n if (img?.complete && img.naturalWidth > 0) {\r\n this.lightboxResimYuklendi({ target: img } as any);\r\n }\r\n });\r\n });\r\n }\r\n\r\n lightboxKapat() {\r\n this.lightboxAcik = false;\r\n this.document.body.style.overflow = '';\r\n this.document.body.classList.remove('fikoyt-lightbox-aktif');\r\n if (this.lightboxKeydownHandler) {\r\n this.document.removeEventListener('keydown', this.lightboxKeydownHandler);\r\n this.lightboxKeydownHandler = null;\r\n }\r\n this.CD.detectChanges();\r\n }\r\n\r\n lightboxKeydown(e: KeyboardEvent) {\r\n switch (e.key) {\r\n case 'Escape': this.lightboxKapat(); break;\r\n case '+': case '=': this.lightboxZoomDegistir(0.25); break;\r\n case '-': this.lightboxZoomDegistir(-0.25); break;\r\n case '0': this.lightboxZoom = 1; this.lightboxPanX = 0; this.lightboxPanY = 0; this.CD.detectChanges(); break;\r\n case 'f': case 'F': this.yuzEtiketModuToggle(); break;\r\n }\r\n }\r\n\r\n lightboxZoomDegistir(delta: number) {\r\n this.lightboxZoom = Math.max(0.25, Math.min(8, this.lightboxZoom + delta));\r\n if (this.lightboxZoom <= 1) { this.lightboxPanX = 0; this.lightboxPanY = 0; }\r\n this.CD.detectChanges();\r\n }\r\n\r\n lightboxWheel(e: WheelEvent) {\r\n e.preventDefault();\r\n this.lightboxZoomDegistir(e.deltaY < 0 ? 0.15 : -0.15);\r\n }\r\n\r\n lightboxCiftTiklandi() {\r\n if (this.lightboxZoom > 1) {\r\n this.lightboxZoom = 1; this.lightboxPanX = 0; this.lightboxPanY = 0;\r\n } else {\r\n this.lightboxZoom = 2.5;\r\n }\r\n this.CD.detectChanges();\r\n }\r\n\r\n lightboxPanBasla(e: MouseEvent) {\r\n if (this.lightboxZoom <= 1 || this.yuzEtiketModuAktif) return;\r\n e.preventDefault();\r\n this.lightboxSurukBilgi = { aktif: true, baslangicX: e.clientX, baslangicY: e.clientY, oncekiPanX: this.lightboxPanX, oncekiPanY: this.lightboxPanY };\r\n const tasiHandler = (ev: MouseEvent) => {\r\n if (!this.lightboxSurukBilgi?.aktif) return;\r\n this.lightboxPanX = this.lightboxSurukBilgi.oncekiPanX + (ev.clientX - this.lightboxSurukBilgi.baslangicX);\r\n this.lightboxPanY = this.lightboxSurukBilgi.oncekiPanY + (ev.clientY - this.lightboxSurukBilgi.baslangicY);\r\n this.CD.detectChanges();\r\n };\r\n const birakHandler = () => {\r\n this.lightboxSurukBilgi = null;\r\n this.document.removeEventListener('mousemove', tasiHandler);\r\n this.document.removeEventListener('mouseup', birakHandler);\r\n };\r\n this.document.addEventListener('mousemove', tasiHandler);\r\n this.document.addEventListener('mouseup', birakHandler);\r\n }\r\n\r\n lightboxResimYuklendi(e: Event) {\r\n const img = e.target as HTMLImageElement;\r\n const container = img.closest('.lightbox-resim-konteynir');\r\n if (!container) return;\r\n const cRect = container.getBoundingClientRect();\r\n const imgRect = img.getBoundingClientRect();\r\n this.lightboxResimAlani = {\r\n left: ((imgRect.left - cRect.left) / cRect.width) * 100,\r\n top: ((imgRect.top - cRect.top) / cRect.height) * 100,\r\n width: (imgRect.width / cRect.width) * 100,\r\n height: (imgRect.height / cRect.height) * 100,\r\n };\r\n this.CD.detectChanges();\r\n }\r\n\r\n lightboxKatmanTiklandi(e: MouseEvent) {\r\n if (!this.yuzEtiketModuAktif || this.bekleyenEtiket) return;\r\n const katman = e.currentTarget as HTMLElement;\r\n const rect = katman.getBoundingClientRect();\r\n const xPct = ((e.clientX - rect.left) / rect.width) * 100;\r\n const yPct = ((e.clientY - rect.top) / rect.height) * 100;\r\n const w = 12, h = 15;\r\n this.bekleyenEtiket = {\r\n x: Math.max(0, Math.min(100 - w, xPct - w / 2)),\r\n y: Math.max(0, Math.min(100 - h, yPct - h / 2)),\r\n w, h,\r\n };\r\n this.yuzEtiketAramaMetni = '';\r\n this.yuzEtiketAramaSonuclari = [];\r\n this.CD.detectChanges();\r\n }\r\n\r\n /** Sunucu limitiyle eşleşen istemci tarafı üst boyut (100 MB) */\r\n private static readonly MAX_DOSYA_BOYUTU = 100 * 1024 * 1024;\r\n\r\n secildiDosya($event: any) { // called each time file input changes\r\n // console.log(\"aloo\",$event)\r\n // console.log($event)\r\n if ($event.target.files && $event.target.files[0]) {\r\n const dosya: File = $event.target.files[0]\r\n\r\n if (!dosya.type.startsWith(\"image\") && dosya.size > PaylasIcerikEditorComponent.MAX_DOSYA_BOYUTU) {\r\n this.nzMessage.error('Dosya çok büyük (en fazla 100 MB)');\r\n $event.target.value = '';\r\n this.CD.detectChanges();\r\n return;\r\n }\r\n\r\n if (dosya.type.startsWith(\"image\")) {\r\n this.icerik.ek = this.resimEkle(dosya);\r\n } else if (dosya.type.startsWith(\"video\")) {\r\n this.icerik.ek = this.videoEkle(dosya);\r\n } else if (dosya.type.startsWith(\"audio\")) {\r\n this.icerik.ek = this.sesEkle(dosya);\r\n } else {\r\n if (dosya.name.endsWith(\".FikoGL\"))\r\n this.icerik.ek = this.fikoGLEkle(dosya)\r\n else if (dosya.name.endsWith(\".FikoGLS\"))\r\n this.icerik.ek = this.fikoGLSEkle(dosya)\r\n else if (dosya.name.endsWith(\".FikoOpGL\"))\r\n this.icerik.ek = this.fikoOpGLEkle(dosya)\r\n else if (dosya.name.endsWith(\".FikoOpGLv1\"))\r\n this.icerik.ek = this.fikoOpGLv1Ekle(dosya)\r\n else\r\n this.icerik.ek = this.dosyaEkle(dosya);\r\n }\r\n\r\n }\r\n this.CD.detectChanges();\r\n }\r\n\r\n\r\n async resimSikistir(imageFile: any) {\r\n\r\n // console.log('originalFile instanceof Blob', imageFile instanceof Blob); // true\r\n // console.log(`originalFile size ${imageFile.size / 1024 / 1024} MB`);\r\n\r\n var options = {\r\n maxSizeMB: 1,\r\n maxWidthOrHeight: 1920,\r\n useWebWorker: true\r\n }\r\n return imageCompression(imageFile, options)\r\n }\r\n\r\n resimEkle(dosya: File) {\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.RESIM;\r\n ek.dosya = dosya;\r\n ek.dosyaObjectUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(dosya));\r\n ek.boyut = dosya.size;\r\n ek.ismi = dosya.name;\r\n ek.tipi = dosya.type;\r\n\r\n this.resimSikistir(dosya).then(compressedFile => {\r\n ek.orijinalBoyut = dosya.size;\r\n ek.dosya = compressedFile;\r\n ek.dosyaObjectUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(compressedFile));\r\n ek.boyut = compressedFile.size;\r\n this.CD.detectChanges();\r\n // Otomatik yüz tespiti başlat\r\n this.editorYuzTespitBaslat(ek._id, compressedFile);\r\n }).catch((e) => {\r\n console.warn('Resim sıkıştırma hatası:', e);\r\n });\r\n\r\n return ek;\r\n }\r\n\r\n videoEkle(dosya: File) {\r\n if (this.premiumKilit('video', 'Video Yükleme')) return null;\r\n // const reader = new FileReader();\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.VIDEO;\r\n ek.dosya = dosya;\r\n ek.dosyaObjectUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(dosya));\r\n // reader.readAsDataURL(dosya); // read file as data url\r\n ek.boyut = dosya.size;\r\n ek.ismi = dosya.name;\r\n ek.tipi = dosya.type;\r\n\r\n return ek;\r\n }\r\n\r\n sesEkle(dosya: File) {\r\n // const reader = new FileReader();\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.SES;\r\n ek.dosya = dosya;\r\n ek.dosyaObjectUrl = URL.createObjectURL(dosya);\r\n // reader.readAsDataURL(dosya); // read file as data url\r\n ek.boyut = dosya.size;\r\n ek.ismi = dosya.name;\r\n ek.tipi = dosya.type;\r\n\r\n return ek;\r\n }\r\n\r\n dosyaEkle(dosya: File) {\r\n // const reader = new FileReader();\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.DOSYA;\r\n ek.dosya = dosya;\r\n ek.dosyaObjectUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(dosya));\r\n // reader.readAsDataURL(dosya); // read file as data url\r\n ek.boyut = dosya.size;\r\n ek.ismi = dosya.name;\r\n ek.tipi = dosya.type;\r\n\r\n return ek;\r\n }\r\n\r\n fikoGLEkle(dosya: File) {\r\n // const reader = new FileReader();\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.FIKOGL;\r\n ek.dosya = dosya;\r\n ek.dosyaObjectUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(dosya));\r\n // reader.readAsDataURL(dosya); // read file as data url\r\n ek.boyut = dosya.size;\r\n ek.ismi = dosya.name;\r\n ek.tipi = dosya.type;\r\n\r\n return ek;\r\n }\r\n\r\n fikoGLSEkle(dosya: File) {\r\n // const reader = new FileReader();\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.FIKOGLS;\r\n ek.dosya = dosya;\r\n ek.dosyaObjectUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(dosya));\r\n // reader.readAsDataURL(dosya); // read file as data url\r\n ek.boyut = dosya.size;\r\n ek.ismi = dosya.name;\r\n ek.tipi = dosya.type;\r\n\r\n return ek;\r\n }\r\n\r\n fikoOpGLEkle(dosya: File) {\r\n // const reader = new FileReader();\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.FIKOOPGL;\r\n ek.dosya = dosya;\r\n ek.dosyaObjectUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(dosya));\r\n // reader.readAsDataURL(dosya); // read file as data url\r\n ek.boyut = dosya.size;\r\n ek.ismi = dosya.name;\r\n ek.tipi = dosya.type;\r\n\r\n return ek;\r\n }\r\n\r\n fikoOpGLv1Ekle(dosya: File) {\r\n // const reader = new FileReader();\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.FIKOOPGLv1;\r\n ek.dosya = dosya;\r\n ek.dosyaObjectUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(dosya));\r\n // reader.readAsDataURL(dosya); // read file as data url\r\n ek.boyut = dosya.size;\r\n ek.ismi = dosya.name;\r\n ek.tipi = dosya.type;\r\n\r\n return ek;\r\n }\r\n\r\n\r\n /** 📢 premium özellik lisansı (köprü yoksa AÇIK — geriye uyumlu). */\r\n lisans(alt: string): boolean { try { return (window as any).__fikoLisans?.('📢', alt) ?? true; } catch { return true; } }\r\n /** Kilitliyse uyarı gösterip true döner (aksiyon engellenir). Açıksa kampanyalıysa bildirir. */\r\n private premiumKilit(alt: string, ad: string): boolean {\r\n if (this.lisans(alt)) { try { (window as any).__fikoKampanyaBildir?.('📢', alt, ad); } catch { } return false; }\r\n this.nzMessage?.warning(`\"${ad}\" özelliği lisansınızda yok. Fiyatlandırma sayfasından ekleyebilirsiniz.`);\r\n return true;\r\n }\r\n /** İçeriği şifrele (premium: icerik_sifre). */\r\n sifreKilitle() { if (this.premiumKilit('icerik_sifre', 'İçerik Şifre Kilidi')) return; this.icerik.sifre = ''; this.CD.detectChanges(); }\r\n /** Parametreli/dinamik uygulama içeriği ekle (premium: parametreli). */\r\n uygulamaIcerikEkle() { if (this.premiumKilit('parametreli', 'Parametreli İçerik')) return; this.icerik.ek = { turu: 'UYGULAMAICERIK', _id: '', parametreler: [] }; this.CD.detectChanges(); }\r\n /** Tasarım editörü modunu aç (premium: tasarim_editor). */\r\n tasarimModuAc() { if (this.premiumKilit('tasarim_editor', 'Tasarım Editörü')) return; this.tasarimModu = !this.tasarimModu; this.onizlemeModu = false; this.CD.detectChanges(); }\r\n /** Resimde yüz etiketleme modunu aç/kapat (premium: yuz_etiket). Kapatma her zaman serbest. */\r\n yuzEtiketModuToggle() {\r\n if (!this.yuzEtiketModuAktif && this.premiumKilit('yuz_etiket', 'Resimde Yüz Etiketleme')) return;\r\n this.yuzEtiketModuAktif = !this.yuzEtiketModuAktif; this.bekleyenEtiketIptal(); this.CD.detectChanges();\r\n }\r\n\r\n youtubeEkle(yid?: string) {\r\n if (this.premiumKilit('youtube', 'YouTube Video')) return null;\r\n\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.YOUTUBE;\r\n ek.yid = yid;\r\n\r\n\r\n this.CD.detectChanges();\r\n setTimeout(() => {\r\n $('.ui.embed').embed({\r\n source: \"youtube\",\r\n brandedUI: true\r\n });\r\n }, 0);\r\n\r\n\r\n return ek;\r\n }\r\n\r\n async konumEkle() {\r\n if (this.premiumKilit('konum', 'Konum Paylaşımı')) return;\r\n const { HaritaYerSeciciComponent } = await import('@/src/app/uygulamalar/soyagaci/harita-yer-secici/harita-yer-secici.component');\r\n const modal = this.nzModalServis.create({\r\n nzTitle: 'Konum Seç',\r\n nzContent: HaritaYerSeciciComponent,\r\n nzWidth: 520,\r\n nzFooter: null,\r\n nzData: {},\r\n });\r\n modal.afterClose.subscribe((sonuc: any) => {\r\n if (sonuc?.yerIsmi) {\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.KONUM;\r\n ek.ismi = sonuc.yerIsmi;\r\n ek.bilgiler = {\r\n yerIsmi: sonuc.yerIsmi,\r\n koordinat: sonuc.koordinat,\r\n };\r\n this.icerik.ek = ek;\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n // @if bloğu renderlanana kadar bekle, sonra haritayı başlat\r\n setTimeout(() => this.konumHaritaBaslat(), 300);\r\n }\r\n });\r\n }\r\n\r\n async ekKonumSec() {\r\n const { HaritaYerSeciciComponent } = await import('@/src/app/uygulamalar/soyagaci/harita-yer-secici/harita-yer-secici.component');\r\n const modal = this.nzModalServis.create({\r\n nzTitle: 'Ek Konumu Seç',\r\n nzContent: HaritaYerSeciciComponent,\r\n nzWidth: 520,\r\n nzFooter: null,\r\n nzData: {\r\n mevcutYer: this.icerik?.ek?.konum?.yerIsmi || '',\r\n mevcutKoordinat: this.icerik?.ek?.konum?.koordinat || null,\r\n },\r\n });\r\n modal.afterClose.subscribe((sonuc: any) => {\r\n if (sonuc?.yerIsmi) {\r\n if (!this.icerik.ek.konum) this.icerik.ek.konum = {};\r\n this.icerik.ek.konum.yerIsmi = sonuc.yerIsmi;\r\n this.icerik.ek.konum.koordinat = sonuc.koordinat;\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n }\r\n });\r\n }\r\n\r\n async konumDegistir() {\r\n const { HaritaYerSeciciComponent } = await import('@/src/app/uygulamalar/soyagaci/harita-yer-secici/harita-yer-secici.component');\r\n const modal = this.nzModalServis.create({\r\n nzTitle: 'Konumu Değiştir',\r\n nzContent: HaritaYerSeciciComponent,\r\n nzWidth: 520,\r\n nzFooter: null,\r\n nzData: {\r\n mevcutYer: this.icerik?.ek?.bilgiler?.yerIsmi || '',\r\n mevcutKoordinat: this.icerik?.ek?.bilgiler?.koordinat || null,\r\n },\r\n });\r\n modal.afterClose.subscribe((sonuc: any) => {\r\n if (sonuc?.yerIsmi) {\r\n this.icerik.ek.ismi = sonuc.yerIsmi;\r\n this.icerik.ek.bilgiler.yerIsmi = sonuc.yerIsmi;\r\n this.icerik.ek.bilgiler.koordinat = sonuc.koordinat;\r\n // Haritayı yeniden başlat\r\n this.konumHaritaAktifId = null;\r\n if (this.konumLeafletMap) {\r\n this.konumLeafletMap.remove();\r\n this.konumLeafletMap = null;\r\n }\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n setTimeout(() => this.konumHaritaBaslat(), 300);\r\n }\r\n });\r\n }\r\n\r\n yapayZekaEkle(yid?: string) {\r\n if (this.premiumKilit('ai_gorsel', 'Yapay Zeka Görsel Üretimi')) return null;\r\n\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.YAPAYZEKA;\r\n\r\n this.CD.detectChanges();\r\n return ek;\r\n }\r\n\r\n referansEkle(rid?: string) {\r\n\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.REFERANS;\r\n ek.rid = rid;\r\n\r\n if (rid) {\r\n this.referansKartYukle(rid);\r\n }\r\n\r\n this.CD.detectChanges();\r\n return ek;\r\n }\r\n\r\n /** Referans kartı dinamik olarak FikoYTKartKokComponent ile yükler (circular dependency'yi önlemek için lazy import) */\r\n async referansKartYukle(rid: string) {\r\n if (!rid || this.referansKartYukleniyor) return;\r\n\r\n this.referansKartYukleniyor = true;\r\n this.CD.detectChanges();\r\n\r\n try {\r\n // Lazy import ile circular dependency'yi önle\r\n const { FikoYTKartKokComponent } = await import('../../../fikoyt-kart-kok/fikoyt-kart.component');\r\n\r\n // ViewContainerRef hazır olana kadar bekle (template render sonrası)\r\n let bekleme = 0;\r\n while (!this.referansKonteynir && bekleme < 10) {\r\n await new Promise(resolve => setTimeout(resolve, 50));\r\n this.CD.detectChanges();\r\n bekleme++;\r\n }\r\n\r\n if (!this.referansKonteynir) {\r\n console.warn('referansKonteynir bulunamadı');\r\n this.referansKartYukleniyor = false;\r\n this.CD.detectChanges();\r\n return;\r\n }\r\n\r\n // Önceki bileşeni temizle\r\n this.referansKonteynir.clear();\r\n this.referansBilesenRef = null;\r\n\r\n // Dinamik olarak FikoYTKartKokComponent oluştur\r\n this.referansBilesenRef = this.referansKonteynir.createComponent(FikoYTKartKokComponent);\r\n // InputSignal için setInput kullan\r\n this.referansBilesenRef.setInput('kart', { _id: rid } as any);\r\n\r\n // API'den tam kart verisini çek\r\n const istek = new FikoYTIstekKok({\r\n metod: 'POST',\r\n komut: 'FikoYT.sistem.DB.hareketler.aggregate',\r\n gecikmeliCevap: false,\r\n });\r\n\r\n istek.parametreler = {\r\n aggregate: [\r\n { $match: { _id: rid } },\r\n {\r\n $lookup: {\r\n from: \"hareketler\",\r\n localField: \"veri.icerikler\",\r\n foreignField: \"_id\",\r\n as: \"veri.icerikler\"\r\n }\r\n },\r\n { $limit: 1 }\r\n ]\r\n };\r\n\r\n await istek.isteSync();\r\n\r\n if (istek.cevap?.sonuc?.length > 0) {\r\n const kartVeri = istek.cevap.sonuc[0];\r\n this.referansBilesenRef.setInput('kart', kartVeri);\r\n }\r\n } catch (e) {\r\n console.warn('Referans kart yükleme hatası:', e);\r\n }\r\n\r\n this.referansKartYukleniyor = false;\r\n this.CD.detectChanges();\r\n }\r\n\r\n uyarEkle(rid?: string) {\r\n if (this.premiumKilit('firma_custom_kart', 'Firmaya Özel Custom Kartlar')) return null;\r\n\r\n const ek: any = {};\r\n ek._id = this.FikoYT.fikoIdUret();\r\n ek.turu = IEkTuru.UYARDOKUM;\r\n ek.rid = rid;\r\n\r\n this.CD.detectChanges();\r\n $('.ui.embed').embed({\r\n source: \"youtube\",\r\n brandedUI: true\r\n });\r\n\r\n return ek;\r\n }\r\n\r\n\r\n // Mikrofon - tıkla başla / tıkla durdur\r\n async mikrofonTiklandi() {\r\n if (this.mikrofonKayitAktif) {\r\n this.mikrofonDurdur();\r\n return;\r\n }\r\n if (this.premiumKilit('ses_kayit', 'Ses Kaydı')) return;\r\n\r\n try {\r\n this.kayitStream = await navigator.mediaDevices.getUserMedia({ audio: true });\r\n this.kayitParcalari = [];\r\n this.kayitBlob = null;\r\n this.onizlemeTemizle();\r\n\r\n const mimeType = MediaRecorder.isTypeSupported('audio/webm;codecs=opus')\r\n ? 'audio/webm;codecs=opus'\r\n : (MediaRecorder.isTypeSupported('audio/webm') ? 'audio/webm' : '');\r\n\r\n this.mediaRecorder = mimeType\r\n ? new MediaRecorder(this.kayitStream, { mimeType })\r\n : new MediaRecorder(this.kayitStream);\r\n\r\n this.mediaRecorder.ondataavailable = (e) => {\r\n if (e.data.size > 0) this.kayitParcalari.push(e.data);\r\n };\r\n\r\n this.mediaRecorder.onstop = () => {\r\n this.kayitBlob = new Blob(this.kayitParcalari, { type: this.mediaRecorder.mimeType || 'audio/webm' });\r\n this.kayitStream?.getTracks().forEach(t => t.stop());\r\n this.kayitStream = null;\r\n\r\n // Custom player: blob'dan Audio oluştur, süreyi timer'dan biliyoruz\r\n this.onizlemeAudio = new Audio(URL.createObjectURL(this.kayitBlob));\r\n this.onizlemeAudio.ontimeupdate = () => {\r\n if (this.onizlemeAudio && this.mikrofonSure > 0) {\r\n this.onizlemeIlerleme = (this.onizlemeAudio.currentTime / this.mikrofonSure) * 100;\r\n this.CD.detectChanges();\r\n }\r\n };\r\n this.onizlemeAudio.onended = () => {\r\n this.onizlemeOynuyor = false;\r\n this.onizlemeIlerleme = 0;\r\n this.CD.detectChanges();\r\n };\r\n\r\n this.mikrofonMenuGoster = true;\r\n this.CD.detectChanges();\r\n };\r\n\r\n this.mediaRecorder.start(250);\r\n this.mikrofonKayitAktif = true;\r\n this.mikrofonSure = 0;\r\n this.mikrofonMenuGoster = false;\r\n\r\n this.kayitTimer = setInterval(() => {\r\n this.mikrofonSure++;\r\n this.CD.detectChanges();\r\n }, 1000);\r\n\r\n this.CD.detectChanges();\r\n } catch (e) {\r\n console.error('Mikrofon erişimi hatası:', e);\r\n this.nzMessage.error('Mikrofon erişimi reddedildi');\r\n }\r\n }\r\n\r\n // Mikrofon - kaydı durdur\r\n mikrofonDurdur() {\r\n if (!this.mediaRecorder || this.mediaRecorder.state === 'inactive') return;\r\n\r\n clearInterval(this.kayitTimer);\r\n this.kayitTimer = null;\r\n this.mikrofonKayitAktif = false;\r\n this.mediaRecorder.stop();\r\n this.CD.detectChanges();\r\n }\r\n\r\n // Mikrofon - iptal\r\n mikrofonIptal() {\r\n clearInterval(this.kayitTimer);\r\n this.kayitTimer = null;\r\n this.mikrofonKayitAktif = false;\r\n\r\n if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') {\r\n this.mediaRecorder.stop();\r\n }\r\n this.kayitStream?.getTracks().forEach(t => t.stop());\r\n this.kayitStream = null;\r\n this.onizlemeTemizle();\r\n this.kayitBlob = null;\r\n this.mikrofonMenuGoster = false;\r\n this.CD.detectChanges();\r\n }\r\n\r\n // Ses dosyası olarak ekle\r\n mikrofonSesEkle() {\r\n if (!this.kayitBlob) return;\r\n\r\n const dosya = new File([this.kayitBlob], `ses-kayit-${Date.now()}.webm`, {\r\n type: this.kayitBlob.type || 'audio/webm'\r\n });\r\n this.icerik.ek = this.sesEkle(dosya);\r\n this.mikrofonTemizle();\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n }\r\n\r\n // Whisper STT ortak çağrı - sonucu ek.transkript'e kaydeder\r\n private async whisperTranskript(blob: Blob): Promise {\r\n // Eğer ek zaten transkript içeriyorsa tekrar Whisper'a gönderme\r\n if (this.icerik?.ek?.transkript) {\r\n return this.icerik.ek.transkript;\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append('file', blob, 'ses-kayit.webm');\r\n formData.append('language', 'tr');\r\n\r\n const baseUrl = FikoYTEnvIstemci.adres.sunucuUrl;\r\n const sonuc = await fetch(`${baseUrl}/fapiv1/whisper/transkript`, {\r\n method: 'POST',\r\n body: formData,\r\n });\r\n\r\n if (!sonuc.ok) throw new Error('Yazıya çevirme başarısız');\r\n\r\n const cevap = await sonuc.json();\r\n console.log('[Whisper] Tam cevap:', JSON.stringify(cevap));\r\n const veri = cevap.sonuc || cevap;\r\n const metin = (veri?.text || '').trim();\r\n console.log('[Whisper] Çıkarılan metin:', metin, '| veri keys:', Object.keys(veri));\r\n\r\n // Transkripti ek objesine kaydet (MongoDB'ye gidecek)\r\n if (metin && this.icerik?.ek) {\r\n this.icerik.ek.transkript = metin;\r\n }\r\n\r\n return metin;\r\n }\r\n\r\n // Yazıya çevir (Whisper STT)\r\n async mikrofonYaziyaCevir() {\r\n if (!this.kayitBlob || this.whisperYukleniyor) return;\r\n if (this.premiumKilit('whisper', 'Sesi Yazıya Çevir')) return;\r\n\r\n this.whisperYukleniyor = true;\r\n this.CD.detectChanges();\r\n\r\n try {\r\n const metin = await this.whisperTranskript(this.kayitBlob);\r\n\r\n if (metin) {\r\n if (!this.icerik.html) this.icerik.html = '';\r\n this.icerik.html += (this.icerik.html ? ' ' : '') + metin;\r\n await this.transkriptKaydet();\r\n this.nzMessage.success('Ses yazıya çevrildi');\r\n } else {\r\n this.nzMessage.warning('Metin bulunamadı');\r\n }\r\n } catch (e) {\r\n this.nzMessage.error('Bağlantı hatası: ' + e.message);\r\n }\r\n\r\n this.whisperYukleniyor = false;\r\n this.mikrofonTemizle();\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n }\r\n\r\n // İkisini birden yap: Hem ses ekle hem yazıya çevir\r\n async mikrofonIkisiBirden() {\r\n if (!this.kayitBlob) return;\r\n if (this.premiumKilit('whisper', 'Sesi Yazıya Çevir')) return;\r\n\r\n // Önce ses dosyasını ekle\r\n const dosya = new File([this.kayitBlob], `ses-kayit-${Date.now()}.webm`, {\r\n type: this.kayitBlob.type || 'audio/webm'\r\n });\r\n this.icerik.ek = this.sesEkle(dosya);\r\n this.CD.detectChanges();\r\n\r\n // Sonra yazıya çevir\r\n this.whisperYukleniyor = true;\r\n this.CD.detectChanges();\r\n\r\n try {\r\n const metin = await this.whisperTranskript(this.kayitBlob);\r\n\r\n if (metin) {\r\n if (!this.icerik.html) this.icerik.html = '';\r\n this.icerik.html += (this.icerik.html ? ' ' : '') + metin;\r\n await this.transkriptKaydet();\r\n this.nzMessage.success('Ses eklendi ve yazıya çevrildi');\r\n }\r\n } catch (e) {\r\n this.nzMessage.error('Yazıya çevirme hatası: ' + e.message);\r\n }\r\n\r\n this.whisperYukleniyor = false;\r\n this.mikrofonTemizle();\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n }\r\n\r\n // Mevcut ses ekini Whisper'a gönder (kart görüntülenirken)\r\n async sesEkiTranskript() {\r\n console.log('[sesEkiTranskript] Başlıyor. dosya:', this.icerik?.ek?.dosya, '| dosya type:', typeof this.icerik?.ek?.dosya, '| _id:', this.icerik?._id, '| transkript:', this.icerik?.ek?.transkript);\r\n\r\n // Ses verisini al: File/Blob varsa direkt kullan, yoksa URL'den indir\r\n let sesBlob: Blob = null;\r\n if (this.icerik?.ek?.dosya instanceof Blob) {\r\n sesBlob = this.icerik.ek.dosya;\r\n } else if (this.icerik?.ek?.dosyaObjectUrl) {\r\n // Sunucudan ses dosyasını indir\r\n try {\r\n const url = typeof this.icerik.ek.dosyaObjectUrl === 'string'\r\n ? this.icerik.ek.dosyaObjectUrl\r\n : this.icerik.ek.dosyaObjectUrl?.changingThisBreaksApplicationSecurity || '';\r\n if (url) {\r\n console.log('[sesEkiTranskript] URL\\'den indiriliyor:', url);\r\n const resp = await fetch(url);\r\n sesBlob = await resp.blob();\r\n }\r\n } catch (e) {\r\n console.warn('[sesEkiTranskript] URL\\'den indirme hatası:', e);\r\n }\r\n }\r\n\r\n if (!sesBlob || this.whisperYukleniyor) {\r\n console.warn('[sesEkiTranskript] sesBlob yok veya zaten yükleniyor');\r\n return;\r\n }\r\n\r\n // Zaten transkript varsa tekrar gönderme\r\n if (this.icerik.ek.transkript) {\r\n this.nzMessage.info('Transkript zaten mevcut');\r\n return;\r\n }\r\n\r\n this.whisperYukleniyor = true;\r\n this.CD.detectChanges();\r\n\r\n try {\r\n const metin = await this.whisperTranskript(sesBlob);\r\n\r\n if (metin) {\r\n if (!this.icerik.html) this.icerik.html = '';\r\n this.icerik.html += (this.icerik.html ? ' ' : '') + metin;\r\n\r\n // Transkripti MongoDB'ye kaydet (içerik _id varsa güncelle)\r\n await this.transkriptKaydet();\r\n\r\n this.nzMessage.success('Ses yazıya çevrildi ve kaydedildi');\r\n } else {\r\n this.nzMessage.warning('Metin bulunamadı');\r\n }\r\n } catch (e) {\r\n this.nzMessage.error('Bağlantı hatası: ' + e.message);\r\n }\r\n\r\n this.whisperYukleniyor = false;\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n }\r\n\r\n // Transkripti MongoDB'ye kaydet (dot notation ile sadece ek.transkript güncellenir, diğer ek alanları korunur)\r\n private async transkriptKaydet() {\r\n console.log('[TranskriptKaydet] Başlıyor. _id:', this.icerik?._id, '| transkript:', this.icerik?.ek?.transkript);\r\n if (!this.icerik?._id || !this.icerik?.ek?.transkript) {\r\n console.warn('[TranskriptKaydet] _id veya transkript yok, çıkılıyor');\r\n return;\r\n }\r\n\r\n try {\r\n const guncelleme: any = {\r\n _id: this.icerik._id,\r\n 'ek.transkript': this.icerik.ek.transkript\r\n };\r\n console.log('[TranskriptKaydet] Gönderilecek:', JSON.stringify(guncelleme));\r\n\r\n const formData = new FormData();\r\n formData.append('req_body', JSON.stringify(guncelleme));\r\n\r\n const baseUrl = FikoYTEnvIstemci.adres.sunucuUrl;\r\n const sonuc = await fetch(`${baseUrl}/fapiv1/fikoyt.com.FikoYT.sistem.DB.hareketler.ekle`, {\r\n method: 'POST',\r\n body: formData,\r\n });\r\n\r\n const cevap = await sonuc.json();\r\n console.log('[TranskriptKaydet] Sunucu cevabı:', JSON.stringify(cevap));\r\n\r\n if (!sonuc.ok) {\r\n console.warn('Transkript kayıt HTTP hatası:', sonuc.status);\r\n }\r\n } catch (e) {\r\n console.warn('Transkript MongoDB kayıt hatası:', e);\r\n }\r\n }\r\n\r\n private mikrofonTemizle() {\r\n this.onizlemeTemizle();\r\n this.kayitBlob = null;\r\n this.mikrofonMenuGoster = false;\r\n }\r\n\r\n // Önizleme audio temizle\r\n private onizlemeTemizle() {\r\n if (this.onizlemeAudio) {\r\n this.onizlemeAudio.pause();\r\n if (this.onizlemeAudio.src) URL.revokeObjectURL(this.onizlemeAudio.src);\r\n this.onizlemeAudio = null;\r\n }\r\n this.onizlemeOynuyor = false;\r\n this.onizlemeIlerleme = 0;\r\n }\r\n\r\n // Önizleme oynat/durdur\r\n onizlemeOynatDurdur() {\r\n if (!this.onizlemeAudio) return;\r\n if (this.onizlemeOynuyor) {\r\n this.onizlemeAudio.pause();\r\n this.onizlemeOynuyor = false;\r\n } else {\r\n this.onizlemeAudio.play();\r\n this.onizlemeOynuyor = true;\r\n }\r\n this.CD.detectChanges();\r\n }\r\n\r\n // Önizleme çubuk tıklama (seek)\r\n onizlemeCubukTiklandi(event: MouseEvent) {\r\n if (!this.onizlemeAudio || this.mikrofonSure <= 0) return;\r\n const bar = event.currentTarget as HTMLElement;\r\n const rect = bar.getBoundingClientRect();\r\n const oran = (event.clientX - rect.left) / rect.width;\r\n this.onizlemeAudio.currentTime = oran * this.mikrofonSure;\r\n this.onizlemeIlerleme = oran * 100;\r\n this.CD.detectChanges();\r\n }\r\n\r\n // Mikrofon süresini formatlı göster\r\n mikrofonSureFormat(): string {\r\n const dk = Math.floor(this.mikrofonSure / 60);\r\n const sn = this.mikrofonSure % 60;\r\n return (dk < 10 ? '0' + dk : dk) + ':' + (sn < 10 ? '0' + sn : sn);\r\n }\r\n\r\n okunabilirBoyut(bytes: any) {\r\n var i = Math.floor(Math.log(bytes) / Math.log(1024)),\r\n sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n //@ts-ignore\r\n return (bytes / Math.pow(1024, i)).toFixed(3) * 1 + ' ' + sizes[i];\r\n }\r\n\r\n /**\r\n * \r\n */\r\n tiklandiFikoGL(dosya: File, resimAktar = false) {\r\n const url = this.router.serializeUrl(\r\n this.router.createUrlTree(['🧩', '💎'])\r\n );\r\n\r\n const wnd = window.open(url, '_blank');\r\n //@ts-ignore\r\n wnd.dosya = dosya;\r\n if (resimAktar) {\r\n //@ts-ignore\r\n wnd.resimFunc = (rsm: any) => {\r\n this.icerik.ek.resimid = this.FikoYT.fikoIdUret();\r\n this.icerik.ek.resim = rsm;\r\n this.icerik.ek.resimObjectUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(rsm));\r\n this.CD.detectChanges();\r\n this.FikoYT.degisti.emit();\r\n wnd?.close();\r\n };\r\n }\r\n\r\n }\r\n\r\n /** STP kartından çekilmiş görüntüyü içerik ekine bağlar.\r\n * NOT: Dosya/yükleme paylaş akışına aittir — `kartDerinKopya` `ek.resim` blobunu\r\n * (File/Blob) `dosyaHaritasi`'ne alır, ardından `ikart-kutusu.paylasTiklandi`'daki\r\n * per-content `ekle`de `resimid` anahtarıyla GridFS'ye yazar. Burada ayrıca\r\n * `ekle` yapmayı BÖLDÜRÜRÜZ: ayrıca bir upsert, içindeki `ek.dosya` (wrl/stp model\r\n * File'ı) JSON.stringify'de kaybolup 3D model referansını DB'de bozar, kartın 3D\r\n * olarak algılanmamasına yol açar. Sadece blob'u + resimid'yi oturur ve değişi\r\n * yayarız; asıl yükleme paylaş sırasında tekrarlanır. */\r\n stpFotografYuklendi(blob: Blob, icerik: any) {\r\n const ek = icerik?.ek;\r\n if (!ek || !icerik?._id || !(blob instanceof Blob)) return;\r\n\r\n const resimid = this.FikoYT.fikoIdUret();\r\n ek.resimid = resimid;\r\n ek.resim = blob; // ← kartDerinKopya bununla paylaş upload'ı tetikler (resimid anahtarlı)\r\n ek.resimObjectUrl = this.sanitizer.bypassSecurityTrustUrl(URL.createObjectURL(blob));\r\n this.CD.detectChanges();\r\n this.FikoYT.degisti.emit();\r\n }\r\n\r\n\r\n /** */\r\n tetiklendiYapistir(event: any) {\r\n event.preventDefault();\r\n const items = (event.clipboardData || event.originalEvent.clipboardData).items;\r\n\r\n for (const item of items) {\r\n if (item.type.indexOf('image') === 0) {\r\n let blob = null;\r\n blob = item.getAsFile();\r\n\r\n this.icerik.ek = this.resimEkle(blob)\r\n\r\n this.CD.detectChanges();\r\n event.preventDefault();\r\n } else /*if (item.type.indexOf('text/plain') === 0)*/ {\r\n item.getAsString((str: string) => {\r\n document.execCommand(\"insertHTML\", false, str);\r\n event.preventDefault();\r\n });\r\n }\r\n }\r\n }\r\n /** */\r\n\r\n tetiklendiDrop(event: any) {\r\n event.preventDefault();\r\n const items = event.dataTransfer.files;\r\n\r\n // if (!this.icerik.ek) {\r\n // this.icerik.splice(this.FikoYT.paylas.aktifIcerikNo, 1);\r\n // }\r\n\r\n for (const item of items) {\r\n if (item.type.indexOf('image') === 0) {\r\n let blob = null;\r\n blob = item;\r\n this.icerik.ek = this.resimEkle(blob);\r\n\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n event.preventDefault();\r\n }\r\n else if (item.type.indexOf('video') === 0) {\r\n let blob = null;\r\n blob = item;\r\n this.icerik.ek = this.videoEkle(blob);\r\n\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n event.preventDefault();\r\n } else if (item.type.indexOf('audio') === 0) {\r\n let blob = null;\r\n blob = item;\r\n this.icerik.ek = this.sesEkle(blob);\r\n\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n event.preventDefault();\r\n }\r\n else if (item.name.endsWith('.FikoGL')) {\r\n // this.servisFikoSistem.ngZone.run(() => {\r\n let blob = null;\r\n blob = item;\r\n this.icerik.ek = this.fikoGLEkle(blob);\r\n\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n event.preventDefault();\r\n /** */\r\n } else if (item.name.endsWith('.FikoGLS')) {\r\n // this.servisFikoSistem.ngZone.run(() => {\r\n let blob = null;\r\n blob = item;\r\n this.icerik.ek = this.fikoGLSEkle(blob);\r\n\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n event.preventDefault();\r\n /** */\r\n } else if (item.name.endsWith('.FikoOpGL')) {\r\n // this.servisFikoSistem.ngZone.run(() => {\r\n let blob = null;\r\n blob = item;\r\n this.icerik.ek = this.fikoOpGLEkle(blob);\r\n\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n event.preventDefault();\r\n /** */\r\n } else if (item.name.endsWith('.FikoOpGLv1')) {\r\n // this.servisFikoSistem.ngZone.run(() => {\r\n let blob = null;\r\n blob = item;\r\n this.icerik.ek = this.fikoOpGLv1Ekle(blob);\r\n\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n event.preventDefault();\r\n /** */\r\n }\r\n else {\r\n let blob = null;\r\n blob = item;\r\n this.icerik.ek = this.dosyaEkle(blob);\r\n\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n event.preventDefault();\r\n\r\n }\r\n }\r\n // this.FikoYT.paylas.aktifEtSonSayfa();\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n }\r\n\r\n tiklandiPanodanYapistir() {\r\n try {\r\n //@ts-ignore\r\n navigator.clipboard.read().then((items: any) => {\r\n items.forEach((item: any) => {\r\n // console.log(item);\r\n // do something with the data item\r\n });\r\n });\r\n } catch (err: any) {\r\n // this.servisFikoSistem.mesaj.error('Yetki Hatası');\r\n console.error(err.name, err.message);\r\n }\r\n }\r\n /** */\r\n sonuc: any;\r\n\r\n /** Resim yüklendiğinde gerçek alanı hesapla */\r\n resimYuklendi($event: Event) {\r\n const img = $event.target as HTMLImageElement;\r\n this.sonResimEl = img;\r\n this.resimAlaniHesapla(img);\r\n // Container resize olduğunda yeniden hesapla\r\n if (this.resimAlaniObserver) this.resimAlaniObserver.disconnect();\r\n const container = img.parentElement;\r\n if (container) {\r\n this.resimAlaniObserver = new ResizeObserver(() => this.resimAlaniHesapla(img));\r\n this.resimAlaniObserver.observe(container);\r\n }\r\n // EKREFERANS resimler için otomatik yüz tespiti sorgula\r\n if (this.icerik?.ek?.turu === IEkTuru.EKREFERANS && this.icerik?.ek?._id) {\r\n this.editorYuzTespitEkRefSorgula(this.icerik.ek._id);\r\n }\r\n }\r\n\r\n /** Resmin container içindeki gerçek px alanını % olarak hesaplar (contain/cover her ikisini destekler) */\r\n private resimAlaniHesapla(img: HTMLImageElement) {\r\n if (!img?.naturalWidth || !img?.naturalHeight) return;\r\n const container = img.parentElement;\r\n if (!container) return;\r\n const cRect = container.getBoundingClientRect();\r\n const fit = getComputedStyle(img).objectFit || 'contain';\r\n const scale = fit === 'cover'\r\n ? Math.max(cRect.width / img.naturalWidth, cRect.height / img.naturalHeight)\r\n : Math.min(cRect.width / img.naturalWidth, cRect.height / img.naturalHeight);\r\n const rW = img.naturalWidth * scale;\r\n const rH = img.naturalHeight * scale;\r\n this.resimAlani = {\r\n left: ((cRect.width - rW) / 2 / cRect.width) * 100,\r\n top: ((cRect.height - rH) / 2 / cRect.height) * 100,\r\n width: (rW / cRect.width) * 100,\r\n height: (rH / cRect.height) * 100,\r\n };\r\n this.CD.detectChanges();\r\n }\r\n\r\n tiklandiSiniflandir($event: MouseEvent) {\r\n if (!this.yuzEtiketModuAktif) return;\r\n const img = $event.currentTarget as HTMLImageElement;\r\n // Gerçek resim alanı üzerinden koordinat hesapla\r\n const bounds = this.resimGercekBounds(img);\r\n if (!bounds) return;\r\n // Tıklama resim alanı dışındaysa yoksay\r\n if ($event.clientX < bounds.left || $event.clientX > bounds.left + bounds.width ||\r\n $event.clientY < bounds.top || $event.clientY > bounds.top + bounds.height) return;\r\n const xPct = (($event.clientX - bounds.left) / bounds.width) * 100;\r\n const yPct = (($event.clientY - bounds.top) / bounds.height) * 100;\r\n const w = 12, h = 15;\r\n this.bekleyenEtiket = {\r\n x: Math.max(0, Math.min(100 - w, xPct - w / 2)),\r\n y: Math.max(0, Math.min(100 - h, yPct - h / 2)),\r\n w, h,\r\n };\r\n this.yuzEtiketAramaMetni = '';\r\n this.yuzEtiketAramaSonuclari = [];\r\n this.CD.detectChanges();\r\n }\r\n\r\n /** Resmin container içindeki gerçek px bound'larını döndürür (contain/cover destekli) */\r\n private resimGercekBounds(img: HTMLImageElement): { left: number; top: number; width: number; height: number } | null {\r\n if (!img?.naturalWidth || !img?.naturalHeight) return null;\r\n const cRect = img.getBoundingClientRect();\r\n const fit = getComputedStyle(img).objectFit || 'contain';\r\n const scale = fit === 'cover'\r\n ? Math.max(cRect.width / img.naturalWidth, cRect.height / img.naturalHeight)\r\n : Math.min(cRect.width / img.naturalWidth, cRect.height / img.naturalHeight);\r\n const rW = img.naturalWidth * scale;\r\n const rH = img.naturalHeight * scale;\r\n return {\r\n left: cRect.left + (cRect.width - rW) / 2,\r\n top: cRect.top + (cRect.height - rH) / 2,\r\n width: rW,\r\n height: rH,\r\n };\r\n }\r\n\r\n yuzEtiketAra(metin: string) {\r\n this.yuzEtiketAramaMetni = metin;\r\n if (this.yuzEtiketAramaTimer) clearTimeout(this.yuzEtiketAramaTimer);\r\n if (!metin || metin.length < 2) {\r\n this.yuzEtiketAramaSonuclari = [];\r\n this.CD.detectChanges();\r\n return;\r\n }\r\n this.yuzEtiketAramaTimer = setTimeout(async () => {\r\n try {\r\n // 1) Platform kullanıcıları ara\r\n const istek = new FikoYTIstekKok({\r\n metod: 'POST',\r\n komut: 'FikoYT.sistem.DB.goUyeler.aggregate',\r\n });\r\n istek.parametreler = {\r\n aggregate: [\r\n { $match: { 'veri.pilesmi': { $regex: escapeRegex(metin), $options: 'i' } } },\r\n { $limit: 8 },\r\n { $project: { _id: 1, 'veri.pilesmi': 1 } }\r\n ]\r\n };\r\n await istek.isteSync();\r\n const platformSonuc = (istek.cevap?.sonuc || []).map((k: any) => ({\r\n _id: k._id,\r\n ismi: k.veri?.pilesmi || k._id,\r\n kaynak: 'platform',\r\n }));\r\n\r\n // 2) Soyağacı kişilerini ara (kart bağlamında soyağacı varsa)\r\n let soyagaciSonuc: any[] = [];\r\n try {\r\n const soyIstek = new FikoYTIstekKok({\r\n metod: 'POST',\r\n komut: 'FikoYT.sistem.DB.hareketler.aggregate',\r\n });\r\n soyIstek.parametreler = {\r\n aggregate: [\r\n { $match: {\r\n vt: 'FikoYT.sistem.soyAgaciKisiler',\r\n silindi: { $ne: true },\r\n $or: [\r\n { 'veri.isim': { $regex: escapeRegex(metin), $options: 'i' } },\r\n { 'veri.soyIsim': { $regex: escapeRegex(metin), $options: 'i' } },\r\n ]\r\n }},\r\n { $limit: 8 },\r\n { $project: { _id: 1, 'veri.isim': 1, 'veri.soyIsim': 1, 'veri.resimUrl': 1 } }\r\n ]\r\n };\r\n await soyIstek.isteSync();\r\n soyagaciSonuc = (soyIstek.cevap?.sonuc || []).map((k: any) => ({\r\n _id: 'soyagaci:' + k._id,\r\n soyagaciKisiId: k._id,\r\n ismi: ((k.veri?.isim || '') + ' ' + (k.veri?.soyIsim || '')).trim(),\r\n resimUrl: k.veri?.resimUrl,\r\n kaynak: 'soyagaci',\r\n }));\r\n } catch (e) {}\r\n\r\n this.yuzEtiketAramaSonuclari = [...soyagaciSonuc, ...platformSonuc];\r\n } catch (e) {\r\n this.yuzEtiketAramaSonuclari = [];\r\n }\r\n this.CD.detectChanges();\r\n }, 300);\r\n }\r\n\r\n bekleyenEtiketIptal() {\r\n this.bekleyenEtiket = null;\r\n this.yuzEtiketAramaMetni = '';\r\n this.yuzEtiketAramaSonuclari = [];\r\n this.CD.detectChanges();\r\n }\r\n\r\n yuzEtiketEkle(kisi?: { _id?: string; ismi: string; kaynak?: string; soyagaciKisiId?: string; resimUrl?: string }) {\r\n if (!this.bekleyenEtiket || !this.icerik?.ek) return;\r\n if (!this.icerik.ek.yuzEtiketleri) this.icerik.ek.yuzEtiketleri = [];\r\n const etiket: IYuzEtiketi = {\r\n id: this.FikoYT.fikoIdUret(),\r\n x: this.bekleyenEtiket.x,\r\n y: this.bekleyenEtiket.y,\r\n w: this.bekleyenEtiket.w,\r\n h: this.bekleyenEtiket.h,\r\n kisiIsmi: kisi?.ismi || this.yuzEtiketAramaMetni,\r\n kisiId: kisi?.kaynak === 'platform' ? kisi._id : (kisi?._id && !kisi?.soyagaciKisiId ? kisi._id : undefined),\r\n soyagaciKisiId: kisi?.soyagaciKisiId || undefined,\r\n };\r\n this.icerik.ek.yuzEtiketleri.push(etiket);\r\n this.bekleyenEtiket = null;\r\n this.yuzEtiketAramaMetni = '';\r\n this.yuzEtiketAramaSonuclari = [];\r\n this.yuzEtiketleriKaydet();\r\n this.CD.detectChanges();\r\n }\r\n\r\n yuzEtiketSil(id: string) {\r\n if (!this.icerik?.ek?.yuzEtiketleri) return;\r\n this.icerik.ek.yuzEtiketleri = this.icerik.ek.yuzEtiketleri.filter((e: IYuzEtiketi) => e.id !== id);\r\n this.yuzEtiketleriKaydet();\r\n this.CD.detectChanges();\r\n }\r\n\r\n // Etiket isim düzenleme\r\n duzenlenenEtiketId: string | null = null;\r\n duzenlenenEtiketIsmi = '';\r\n acikBalonEtiketId: string | null = null;\r\n\r\n get acikBalonEtiket(): IYuzEtiketi | null {\r\n if (!this.acikBalonEtiketId) return null;\r\n return this.icerik?.ek?.yuzEtiketleri?.find((e: IYuzEtiketi) => e.id === this.acikBalonEtiketId) || null;\r\n }\r\n\r\n /** Düzenlenen etiketin % pozisyonu */\r\n get duzenlenenEtiketPozisyon(): { x: number; y: number } | null {\r\n if (!this.duzenlenenEtiketId) return null;\r\n const etiket = this.icerik?.ek?.yuzEtiketleri?.find((e: IYuzEtiketi) => e.id === this.duzenlenenEtiketId);\r\n if (!etiket) return null;\r\n return { x: etiket.x + etiket.w / 2, y: etiket.y + etiket.h };\r\n }\r\n\r\n popoverGorunurlukDegisti(gorunur: boolean, etiket: IYuzEtiketi) {\r\n if (!gorunur && (this.acikBalonEtiketId === etiket.id || this.duzenlenenEtiketId === etiket.id)) {\r\n this.acikBalonEtiketId = null;\r\n this.duzenlenenEtiketId = null;\r\n this.CD.detectChanges();\r\n }\r\n }\r\n\r\n etiketTiklandi(etiket: IYuzEtiketi) {\r\n if (this.yuzEtiketModuAktif) {\r\n this.yuzEtiketDuzenleBasla(etiket);\r\n } else {\r\n this.acikBalonEtiketId = this.acikBalonEtiketId === etiket.id ? null : etiket.id;\r\n }\r\n this.CD.detectChanges();\r\n }\r\n\r\n yuzEtiketDuzenleBasla(etiket: IYuzEtiketi) {\r\n this.duzenlenenEtiketId = etiket.id;\r\n this.duzenlenenEtiketIsmi = etiket.kisiIsmi;\r\n this.yuzEtiketAramaMetni = etiket.kisiIsmi;\r\n this.yuzEtiketAramaSonuclari = [];\r\n this.CD.detectChanges();\r\n }\r\n\r\n yuzEtiketDuzenleKaydet(kisi?: { _id?: string; ismi: string; kaynak?: string; soyagaciKisiId?: string }) {\r\n if (!this.duzenlenenEtiketId) return;\r\n const etiket = this.icerik?.ek?.yuzEtiketleri?.find((e: IYuzEtiketi) => e.id === this.duzenlenenEtiketId);\r\n if (!etiket) return;\r\n etiket.kisiIsmi = kisi?.ismi || this.duzenlenenEtiketIsmi;\r\n etiket.kisiId = kisi?.kaynak === 'platform' ? kisi._id : (kisi?._id && !kisi?.soyagaciKisiId ? kisi._id : etiket.kisiId);\r\n etiket.soyagaciKisiId = kisi?.soyagaciKisiId || etiket.soyagaciKisiId;\r\n this.duzenlenenEtiketId = null;\r\n this.duzenlenenEtiketIsmi = '';\r\n this.yuzEtiketAramaMetni = '';\r\n this.yuzEtiketAramaSonuclari = [];\r\n this.yuzEtiketleriKaydet();\r\n this.CD.detectChanges();\r\n }\r\n\r\n yuzEtiketDuzenleIptal() {\r\n this.duzenlenenEtiketId = null;\r\n this.duzenlenenEtiketIsmi = '';\r\n this.yuzEtiketAramaMetni = '';\r\n this.yuzEtiketAramaSonuclari = [];\r\n this.CD.detectChanges();\r\n }\r\n\r\n // Katman üzerine tıklama — yeni etiket ekle\r\n katmanTiklandi($event: MouseEvent) {\r\n if (!this.yuzEtiketModuAktif) return;\r\n // Zaten bekleyen çerçeve varsa tekrar oluşturma\r\n if (this.bekleyenEtiket) return;\r\n $event.stopPropagation();\r\n const katman = ($event.currentTarget as HTMLElement);\r\n const rect = katman.getBoundingClientRect();\r\n const xPct = (($event.clientX - rect.left) / rect.width) * 100;\r\n const yPct = (($event.clientY - rect.top) / rect.height) * 100;\r\n const w = 12, h = 15;\r\n this.bekleyenEtiket = {\r\n x: Math.max(0, Math.min(100 - w, xPct - w / 2)),\r\n y: Math.max(0, Math.min(100 - h, yPct - h / 2)),\r\n w, h,\r\n };\r\n this.yuzEtiketAramaMetni = '';\r\n this.yuzEtiketAramaSonuclari = [];\r\n this.CD.detectChanges();\r\n }\r\n\r\n yuzEtiketGosterimDegistir() {\r\n if (!this.icerik?.ek) return;\r\n const modlar: Array<'hover' | 'surekli' | 'liste' | 'kapali'> = ['hover', 'surekli', 'liste', 'kapali'];\r\n const mevcut = this.icerik.ek.yuzEtiketGosterim || 'hover';\r\n const idx = modlar.indexOf(mevcut as any);\r\n this.icerik.ek.yuzEtiketGosterim = modlar[(idx + 1) % modlar.length];\r\n this.yuzEtiketleriKaydet();\r\n this.CD.detectChanges();\r\n }\r\n\r\n // Çerçeve taşıma (drag to move)\r\n cerceveTasimaBasla($event: MouseEvent, etiketId: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n const etiket = this.icerik?.ek?.yuzEtiketleri?.find((e: IYuzEtiketi) => e.id === etiketId);\r\n if (!etiket) return;\r\n const startX = $event.clientX;\r\n const startY = $event.clientY;\r\n const baslangic = { x: etiket.x, y: etiket.y };\r\n const mousemove = (e: MouseEvent) => {\r\n const katman = this.katmanBoyutAl();\r\n if (!katman) return;\r\n const dx = ((e.clientX - startX) / katman.width) * 100;\r\n const dy = ((e.clientY - startY) / katman.height) * 100;\r\n etiket.x = Math.max(0, Math.min(100 - etiket.w, baslangic.x + dx));\r\n etiket.y = Math.max(0, Math.min(100 - etiket.h, baslangic.y + dy));\r\n this.CD.detectChanges();\r\n };\r\n const mouseup = () => {\r\n document.removeEventListener('mousemove', mousemove);\r\n document.removeEventListener('mouseup', mouseup);\r\n this.yuzEtiketleriKaydet();\r\n };\r\n document.addEventListener('mousemove', mousemove);\r\n document.addEventListener('mouseup', mouseup);\r\n }\r\n\r\n // Çerçeve boyutlandırma - mousedown başlat\r\n cerceveBoyutlandirBasla($event: MouseEvent, etiketId: string, yon: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n const etiket = this.icerik?.ek?.yuzEtiketleri?.find((e: IYuzEtiketi) => e.id === etiketId);\r\n if (!etiket) return;\r\n this.suruklenenEtiketId = etiketId;\r\n this.suruklemeBilgi = {\r\n yon,\r\n baslangicX: $event.clientX,\r\n baslangicY: $event.clientY,\r\n baslangicRect: { x: etiket.x, y: etiket.y, w: etiket.w, h: etiket.h },\r\n };\r\n const mousemove = (e: MouseEvent) => this.cerceveBoyutlandirDevam(e);\r\n const mouseup = () => {\r\n document.removeEventListener('mousemove', mousemove);\r\n document.removeEventListener('mouseup', mouseup);\r\n this.suruklenenEtiketId = null;\r\n this.suruklemeBilgi = null;\r\n this.yuzEtiketleriKaydet();\r\n };\r\n document.addEventListener('mousemove', mousemove);\r\n document.addEventListener('mouseup', mouseup);\r\n }\r\n\r\n /** Katman div'inin px boyutunu alır (gerçek resim alanı) */\r\n private katmanBoyutAl(): { width: number; height: number } | null {\r\n if (!this.resimAlani || !this.sonResimEl) return null;\r\n const cRect = this.sonResimEl.parentElement?.getBoundingClientRect();\r\n if (!cRect) return null;\r\n return {\r\n width: cRect.width * this.resimAlani.width / 100,\r\n height: cRect.height * this.resimAlani.height / 100,\r\n };\r\n }\r\n\r\n private cerceveBoyutlandirDevam(e: MouseEvent) {\r\n if (!this.suruklemeBilgi || !this.suruklenenEtiketId) return;\r\n const etiket = this.icerik?.ek?.yuzEtiketleri?.find((et: IYuzEtiketi) => et.id === this.suruklenenEtiketId);\r\n if (!etiket) return;\r\n const katman = this.katmanBoyutAl();\r\n if (!katman) return;\r\n const dx = ((e.clientX - this.suruklemeBilgi.baslangicX) / katman.width) * 100;\r\n const dy = ((e.clientY - this.suruklemeBilgi.baslangicY) / katman.height) * 100;\r\n const b = this.suruklemeBilgi.baslangicRect;\r\n const yon = this.suruklemeBilgi.yon;\r\n const min = 5;\r\n\r\n if (yon.includes('e')) { etiket.w = Math.max(min, Math.min(100 - b.x, b.w + dx)); }\r\n if (yon.includes('w')) { etiket.x = Math.min(b.x + b.w - min, b.x + dx); etiket.w = Math.max(min, b.w - dx); }\r\n if (yon.includes('s')) { etiket.h = Math.max(min, Math.min(100 - b.y, b.h + dy)); }\r\n if (yon.includes('n')) { etiket.y = Math.min(b.y + b.h - min, b.y + dy); etiket.h = Math.max(min, b.h - dy); }\r\n this.CD.detectChanges();\r\n }\r\n\r\n bekleyenCerceveTasimaBasla($event: MouseEvent) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.bekleyenEtiket) return;\r\n const startX = $event.clientX;\r\n const startY = $event.clientY;\r\n const baslangic = { x: this.bekleyenEtiket.x, y: this.bekleyenEtiket.y };\r\n const mousemove = (e: MouseEvent) => {\r\n const katman = this.katmanBoyutAl();\r\n if (!katman || !this.bekleyenEtiket) return;\r\n const dx = ((e.clientX - startX) / katman.width) * 100;\r\n const dy = ((e.clientY - startY) / katman.height) * 100;\r\n this.bekleyenEtiket.x = Math.max(0, Math.min(100 - this.bekleyenEtiket.w, baslangic.x + dx));\r\n this.bekleyenEtiket.y = Math.max(0, Math.min(100 - this.bekleyenEtiket.h, baslangic.y + dy));\r\n this.CD.detectChanges();\r\n };\r\n const mouseup = () => {\r\n document.removeEventListener('mousemove', mousemove);\r\n document.removeEventListener('mouseup', mouseup);\r\n };\r\n document.addEventListener('mousemove', mousemove);\r\n document.addEventListener('mouseup', mouseup);\r\n }\r\n\r\n bekleyenCerceveBoyutlandirBasla($event: MouseEvent, yon: string) {\r\n $event.preventDefault();\r\n $event.stopPropagation();\r\n if (!this.bekleyenEtiket) return;\r\n const baslangic = { ...this.bekleyenEtiket };\r\n const startX = $event.clientX;\r\n const startY = $event.clientY;\r\n const mousemove = (e: MouseEvent) => {\r\n const katman = this.katmanBoyutAl();\r\n if (!katman || !this.bekleyenEtiket) return;\r\n const dx = ((e.clientX - startX) / katman.width) * 100;\r\n const dy = ((e.clientY - startY) / katman.height) * 100;\r\n const min = 5;\r\n if (yon.includes('e')) { this.bekleyenEtiket.w = Math.max(min, Math.min(100 - baslangic.x, baslangic.w + dx)); }\r\n if (yon.includes('w')) { this.bekleyenEtiket.x = Math.min(baslangic.x + baslangic.w - min, baslangic.x + dx); this.bekleyenEtiket.w = Math.max(min, baslangic.w - dx); }\r\n if (yon.includes('s')) { this.bekleyenEtiket.h = Math.max(min, Math.min(100 - baslangic.y, baslangic.h + dy)); }\r\n if (yon.includes('n')) { this.bekleyenEtiket.y = Math.min(baslangic.y + baslangic.h - min, baslangic.y + dy); this.bekleyenEtiket.h = Math.max(min, baslangic.h - dy); }\r\n this.CD.detectChanges();\r\n };\r\n const mouseup = () => {\r\n document.removeEventListener('mousemove', mousemove);\r\n document.removeEventListener('mouseup', mouseup);\r\n };\r\n document.addEventListener('mousemove', mousemove);\r\n document.addEventListener('mouseup', mouseup);\r\n }\r\n\r\n // ─── Otomatik Yüz Tespiti (Editör Modunda) ─────────────────────────────\r\n\r\n /** Editörde resim eklendiğinde sunucuya yükleyip yüz tespiti başlatır */\r\n private async editorYuzTespitBaslat(ekId: string, dosya: File | Blob) {\r\n this.editorYuzTespitYukleniyor = true;\r\n this.editorOtomatikYuzler = [];\r\n this.editorYuzTespitEkId = ekId;\r\n this.CD.detectChanges();\r\n\r\n try {\r\n const baseUrl = FikoYTEnvIstemci.adres.sunucuUrl;\r\n\r\n // 1. Resmi sunucuya yükle (hareketler koleksiyonuna geçici dosya olarak)\r\n const formData = new FormData();\r\n formData.append('req_body', JSON.stringify({ _id: ekId, gecici: true, vt: 'FikoYT.sistem.geciciDosyalar' }));\r\n formData.append(ekId, dosya, 'face_detect.jpg');\r\n await fetch(`${baseUrl}/fapiv1/fikoyt.com.FikoYT.sistem.DB.hareketler.ekle`, {\r\n method: 'POST',\r\n body: formData,\r\n });\r\n\r\n // 2. Yüz tanıma kuyruğuna ekle (yüksek öncelik)\r\n const kuyrukFormData = new FormData();\r\n kuyrukFormData.append('req_body', JSON.stringify({\r\n resim_id: ekId,\r\n icerik_id: ekId,\r\n durum: 'bekliyor',\r\n oncelik: 100,\r\n tarih: new Date(),\r\n deneme: 0,\r\n gecici: true,\r\n }));\r\n await fetch(`${baseUrl}/fapiv1/fikoyt.com.FikoYT.sistem.DB.yuz_kuyruk.ekle`, {\r\n method: 'POST',\r\n body: kuyrukFormData,\r\n });\r\n\r\n // 3. Sonuçları bekle ve sorgula\r\n this.editorYuzTespitSorgula(ekId, 0);\r\n } catch (e) {\r\n console.warn('Yüz tespiti başlatma hatası:', e);\r\n this.editorYuzTespitYukleniyor = false;\r\n this.CD.detectChanges();\r\n }\r\n }\r\n\r\n /** EKREFERANS resimler için mevcut yüz tespitlerini sorgula */\r\n private async editorYuzTespitEkRefSorgula(ekId: string) {\r\n this.editorYuzTespitEkId = ekId;\r\n this.editorYuzTespitSorgula(ekId, 0);\r\n }\r\n\r\n /** yuz_tespit koleksiyonunu polling ile sorgular */\r\n private async editorYuzTespitSorgula(ekId: string, denemeSayisi: number) {\r\n if (this.editorYuzTespitTimer) clearTimeout(this.editorYuzTespitTimer);\r\n // EkId değiştiyse (yeni resim eklendi) eski sorguyu iptal et\r\n if (this.editorYuzTespitEkId !== ekId) return;\r\n\r\n try {\r\n const istek = new FikoYTIstekKok({\r\n metod: 'POST',\r\n komut: 'FikoYT.sistem.DB.yuz_tespit.aggregate',\r\n });\r\n istek.parametreler = {\r\n aggregate: [\r\n { $match: { icerik_id: ekId } },\r\n { $limit: 1 },\r\n ],\r\n };\r\n await istek.isteSync();\r\n\r\n const sonuclar = istek.cevap?.sonuc;\r\n if (!sonuclar?.length) {\r\n // Henüz işlenmemiş - tekrar dene (max 10 deneme / ~30sn)\r\n if (denemeSayisi < 10) {\r\n this.editorYuzTespitTimer = setTimeout(() => this.editorYuzTespitSorgula(ekId, denemeSayisi + 1), 3000);\r\n } else {\r\n this.editorYuzTespitYukleniyor = false;\r\n this.CD.detectChanges();\r\n }\r\n return;\r\n }\r\n\r\n const tespit = sonuclar[0];\r\n this.editorYuzTespitYukleniyor = false;\r\n\r\n if (!tespit?.yuzler?.length) {\r\n this.editorOtomatikYuzler = [];\r\n this.CD.detectChanges();\r\n return;\r\n }\r\n\r\n // Mevcut etiketlerle çakışanları filtrele\r\n const mevcutKisiKimlikleri = new Set(\r\n (this.icerik?.ek?.yuzEtiketleri || [])\r\n .map((e: IYuzEtiketi) => e.soyagaciKisiId || e.kisiId || e.kisiIsmi)\r\n .filter(Boolean)\r\n );\r\n const mevcutPozisyonlar = (this.icerik?.ek?.yuzEtiketleri || []).map((e: IYuzEtiketi) => ({\r\n cx: e.x + e.w / 2, cy: e.y + e.h / 2\r\n }));\r\n\r\n this.editorOtomatikYuzler = tespit.yuzler\r\n .filter((y: any) => {\r\n if (y.onaylandi) return false;\r\n if (y.eslesmeler?.length > 0) {\r\n const enYakin = y.eslesmeler[0];\r\n if (mevcutKisiKimlikleri.has(enYakin.kisi_id) || mevcutKisiKimlikleri.has(enYakin.ad)) return false;\r\n }\r\n const yCx = y.x + y.w / 2, yCy = y.y + y.h / 2;\r\n for (const p of mevcutPozisyonlar) {\r\n if (Math.abs(yCx - p.cx) < 8 && Math.abs(yCy - p.cy) < 8) return false;\r\n }\r\n return true;\r\n })\r\n .map((y: any) => ({\r\n ...y,\r\n enYakinEslesme: y.eslesmeler?.length > 0 ? y.eslesmeler[0] : null,\r\n }));\r\n\r\n this.CD.detectChanges();\r\n } catch (e) {\r\n this.editorYuzTespitYukleniyor = false;\r\n this.CD.detectChanges();\r\n }\r\n }\r\n\r\n /** Otomatik tespit edilen yüzü onayla */\r\n editorOtomatikYuzOnayla(yuzIdx: number, kisi?: { _id?: string; ismi: string; kaynak?: string; soyagaciKisiId?: string; resimUrl?: string }) {\r\n const yuz = this.editorOtomatikYuzler[yuzIdx];\r\n if (!yuz || !this.icerik?.ek) return;\r\n if (!this.icerik.ek.yuzEtiketleri) this.icerik.ek.yuzEtiketleri = [];\r\n\r\n const etiket: IYuzEtiketi = {\r\n id: yuz.id || Date.now().toString(36) + Math.random().toString(36).slice(2, 6),\r\n x: yuz.x,\r\n y: yuz.y,\r\n w: yuz.w,\r\n h: yuz.h,\r\n kisiIsmi: kisi?.ismi || yuz.enYakinEslesme?.ad || this.editorOtomatikYuzAramaMetni || 'Bilinmeyen',\r\n kisiId: kisi?.kaynak === 'platform' ? kisi._id : (yuz.enYakinEslesme?.kisi_id || undefined),\r\n soyagaciKisiId: kisi?.soyagaciKisiId || undefined,\r\n resimUrl: kisi?.resimUrl || yuz.enYakinEslesme?.resim_url || undefined,\r\n };\r\n\r\n this.icerik.ek.yuzEtiketleri.push(etiket);\r\n this.editorOtomatikYuzler.splice(yuzIdx, 1);\r\n this.editorOtomatikYuzAktifIdx = null;\r\n this.editorOtomatikYuzAramaMetni = '';\r\n this.editorOtomatikYuzAramaSonuclari = [];\r\n\r\n // Tanınan kişi descriptor'ını kaydet\r\n if (yuz.descriptor?.length && etiket.kisiIsmi) {\r\n this.editorOtomatikYuzTaninanKaydet(etiket, yuz.descriptor);\r\n }\r\n\r\n this.CD.detectChanges();\r\n }\r\n\r\n /** Otomatik tespit edilen yüzü reddet */\r\n editorOtomatikYuzReddet(yuzIdx: number) {\r\n this.editorOtomatikYuzler.splice(yuzIdx, 1);\r\n this.editorOtomatikYuzAktifIdx = null;\r\n this.CD.detectChanges();\r\n }\r\n\r\n /** En yakın eşleşmeyi hızlı onayla (tek tıkla) */\r\n editorOtomatikYuzHizliOnayla(yuzIdx: number) {\r\n const yuz = this.editorOtomatikYuzler[yuzIdx];\r\n if (!yuz?.enYakinEslesme) return;\r\n this.editorOtomatikYuzOnayla(yuzIdx, {\r\n ismi: yuz.enYakinEslesme.ad,\r\n _id: yuz.enYakinEslesme.kisi_id,\r\n });\r\n }\r\n\r\n /** Otomatik yüz için kişi arama */\r\n editorOtomatikYuzAra(metin: string) {\r\n this.editorOtomatikYuzAramaMetni = metin;\r\n if (this.editorOtomatikYuzAramaTimer) clearTimeout(this.editorOtomatikYuzAramaTimer);\r\n if (!metin || metin.length < 2) {\r\n this.editorOtomatikYuzAramaSonuclari = [];\r\n this.CD.detectChanges();\r\n return;\r\n }\r\n this.editorOtomatikYuzAramaTimer = setTimeout(() => {\r\n this.yuzEtiketAra(metin);\r\n setTimeout(() => {\r\n this.editorOtomatikYuzAramaSonuclari = [...this.yuzEtiketAramaSonuclari];\r\n this.CD.detectChanges();\r\n }, 400);\r\n }, 300);\r\n }\r\n\r\n /** Onaylanan yüzün descriptor'ını yuz_taninan'a kaydet */\r\n private async editorOtomatikYuzTaninanKaydet(etiket: IYuzEtiketi, descriptor: number[]) {\r\n try {\r\n const baseUrl = FikoYTEnvIstemci.adres.sunucuUrl;\r\n const kisiId = etiket.kisiId || etiket.soyagaciKisiId || etiket.id;\r\n\r\n const formData = new FormData();\r\n formData.append('req_body', JSON.stringify({\r\n kisi_id: kisiId,\r\n ad: etiket.kisiIsmi,\r\n ortalama_descriptor: descriptor,\r\n foto_sayisi: 1,\r\n tarih: new Date(),\r\n }));\r\n await fetch(`${baseUrl}/fapiv1/fikoyt.com.FikoYT.sistem.DB.yuz_taninan.ekle`, {\r\n method: 'POST',\r\n body: formData,\r\n });\r\n } catch (e) {\r\n console.warn('Tanınan kişi kayıt hatası:', e);\r\n }\r\n }\r\n\r\n private async yuzEtiketleriKaydet() {\r\n if (!this.icerik?._id) return;\r\n try {\r\n const guncelleme: any = {\r\n _id: this.icerik._id,\r\n 'ek.yuzEtiketleri': this.icerik.ek.yuzEtiketleri || [],\r\n 'ek.yuzEtiketGosterim': this.icerik.ek.yuzEtiketGosterim || 'hover',\r\n };\r\n const formData = new FormData();\r\n formData.append('req_body', JSON.stringify(guncelleme));\r\n const baseUrl = FikoYTEnvIstemci.adres.sunucuUrl;\r\n await fetch(`${baseUrl}/fapiv1/fikoyt.com.FikoYT.sistem.DB.hareketler.ekle`, {\r\n method: 'POST',\r\n body: formData,\r\n });\r\n } catch (e) {\r\n console.warn('Yüz etiketleri kayıt hatası:', e);\r\n }\r\n }\r\n}\r\ndeclare var mobilenet: any;\r\ndeclare var cocoSsd: any;\r\ndeclare var nsfwjs: any;","
\r\n
\r\n \r\n
\r\n
\r\n Kişi Seçici\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n Ara\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n @if (!saltOkunur ? kullanicilarIstek.liste.length<1:kisiler.length<1) {\r\n \r\n
\r\n @if (kullanicilarIstek.mesgul) {\r\n \r\n } @else {\r\n \r\n }\r\n\r\n {{ kullanicilarIstek.mesgul ? 'Okunuyor':'Kimseler Yok' }}\r\n
\r\n
\r\n}\r\n\r\n
\r\n\r\n\r\n \r\n
\r\n @for ( k of !saltOkunur ? kisiler ?? []:kisiler; track $index) {\r\n \r\n \r\n {{ k?.isim ?? '' }} {{k?.soyIsim ?? '' }}\r\n \r\n\r\n \r\n }\r\n
\r\n \r\n @for ( k of !saltOkunur ? kullanicilarIstek.liste ?? []:kisiler; track $index) {\r\n \r\n
\r\n
\r\n (Siz)\r\n
\r\n \"Üye\r\n \r\n
\r\n \r\n }\r\n
\r\n\r\n\r\n\r\n@if (kullanicilarIstek.sayfalama.sayi){\r\n\r\n \r\n\r\n \r\n
\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n Kapat\r\n
\r\n
\r\n Kapat\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Kaydet\r\n
\r\n
\r\n Kaydet\r\n
\r\n \r\n
\r\n
\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Inject, Injector, Input, OnDestroy, Output } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { IstekOlayTuru } from '@/src/service/fikoyt.istek.service';\r\nimport { debounce } from '@/src/service/fikoyt-ui/decorators/debounce';\r\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NzIconModule } from 'ng-zorro-antd/icon';\r\nimport { FikoYTIstekSayfalama } from '@/src/service/modules/fikoyt-istek-kok/fikoyt-istek-sayfalama';\r\nimport { NZ_MODAL_DATA } from 'ng-zorro-antd/modal';\r\nimport { NzPaginationModule } from 'ng-zorro-antd/pagination';\r\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\r\nimport { escapeRegex } from '@/src/app/shared/utils/regex.utils';\r\n// import { Debounce } from '../../FikoYT/decorators/FikoRator.decorators';\r\n\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'fikoyt-dialog-kisi-secici',\r\n templateUrl: './dialog-kisi-secici.component.html',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [RouterModule, CommonModule, FormsModule, NzWaveModule, NzInputModule, NzButtonModule, NzIconModule, NzPaginationModule, NzPopconfirmModule, NzIconModule],\r\n})\r\nexport class DialogKisiSeciciComponent extends FikoYTKokBilesenComponent implements OnDestroy {\r\n /** */\r\n @Input() pencere: any; // FikoDialogCore instance'ı\r\n /** */\r\n @Input() baslik = \"Kişi Seçici\";\r\n /** */\r\n @Input() saltOkunur = false;\r\n /** */\r\n private KISILER: any[] = [];\r\n public get kisiler(): any[] {\r\n return this.KISILER;\r\n }\r\n @Input() public set kisiler(v: any[]) {\r\n if (!v) v = [];\r\n this.KISILER = JSON.parse(JSON.stringify(v));;\r\n this.kisilerChange.emit(this.KISILER);\r\n // this.CD.detectChanges();\r\n }\r\n @Output() kisilerChange: EventEmitter = new EventEmitter();\r\n\r\n @Output() tiklandiKaydet: EventEmitter = new EventEmitter();\r\n @Output() kapandi: EventEmitter = new EventEmitter();\r\n /** NOT: Tanıdık Bulucu Değişkenler */\r\n kullanicilarIstek: FikoYTIstekSayfalama;\r\n\r\n aramaMetni?: string = '';\r\n\r\n\r\n constructor(@Inject(NZ_MODAL_DATA) public data: any,) {\r\n super();\r\n //@ts-ignore\r\n this.kullanicilarIstek = new FikoYTIstekSayfalama({\r\n metod: 'POST',\r\n komut: 'FikoYT.sistem.DB.goUyeler.aggregate',\r\n onEkOlsun: true,\r\n // parametreler: { aggregate: [] },\r\n filitreler: [\r\n // {\r\n // $match: {\r\n // uygulamalar: { $in: [\"Uyar Döküm\"] }\r\n // }\r\n // },\r\n ],\r\n depoModu: false,\r\n oncelik: 0,\r\n gecikmeliCevap: false,\r\n gecikmeliCevapSuresi: 0,\r\n otoSonId: true,\r\n eklemeliListe: false,\r\n }).onMesgulDegisti(({ self, mesgul }) => {\r\n setTimeout(() => {\r\n this.CD.detectChanges();\r\n });\r\n })\r\n // .onCevap(({ self, sonuc }) => {\r\n // console.log(sonuc);\r\n // })\r\n // .onOnceCevap(({ self, sonuc }) => {\r\n // if (sonuc instanceof Array)\r\n // return sonuc[0].liste ?? sonuc\r\n // return sonuc\r\n // })\r\n\r\n .onHata(({ self, hatalar }) => {\r\n this.nzNotification.error(\"Hatalar Var\", hatalar.map(hata => hata.mesaj).join(\"\\n\"));\r\n }).onTamamlandi(({ self }) => {\r\n // window.scrollTo({\r\n // top: window.document.body.scrollHeight - window.innerHeight,\r\n // behavior: 'smooth'\r\n // });\r\n })\r\n .iste();\r\n\r\n }\r\n\r\n override ngAfterViewInit(): void {\r\n this.kisiler = structuredClone(this.data?.kisiler ?? []);\r\n }\r\n\r\n // @debounce(10)\r\n degistiFilitre(value: any) {\r\n this.kullanicilarIstek.filitreler = [\r\n // {\r\n // $match: {\r\n // uygulamalar: { $in: [\"Uyar Döküm\"] }\r\n // }\r\n // },\r\n {\r\n $addFields: {\r\n tamAd: {\r\n $concat: [\r\n { $ifNull: [\"$isim\", \"\"] },\r\n \" \",\r\n { $ifNull: [\"$soyIsim\", \"\"] }\r\n ]\r\n }\r\n }\r\n }];\r\n this.kullanicilarIstek.filitreler.push({ $match: { tamAd: { $regex: escapeRegex(this.aramaMetni ?? \"\"), $options: \"i\" } } });\r\n // this.kullanicilarIstek.liste = [];\r\n this.kullanicilarIstek.listeyiSifirla();\r\n }\r\n\r\n\r\n\r\n\r\n tiklandiKullaniciKarti(k: any) {\r\n if (this.saltOkunur) return;\r\n\r\n let miKisiListesinde: boolean = false;\r\n\r\n this.kisiler.map((val: any, index: any) => {\r\n if (val._id == k._id) {\r\n miKisiListesinde = true;\r\n this.kisiler.splice(index, 1);\r\n }\r\n });\r\n\r\n if (!miKisiListesinde) {\r\n this.kisiler.splice(0, 0, k);\r\n }\r\n\r\n this.CD.detectChanges();\r\n this.kisilerChange.emit(this.kisiler);\r\n }\r\n\r\n kapa() {\r\n // Öncelik 1: NZ Modal (direkt açılmışsa)\r\n if (this.nzModalRef) {\r\n this.kapandi?.emit(); // EventEmitter varsa tetikle\r\n this.CD.detectChanges();\r\n this.nzModalRef.close();\r\n return;\r\n }\r\n\r\n // Öncelik 2: EventEmitter (varsa)\r\n this.kapandi?.emit();\r\n this.CD.detectChanges();\r\n\r\n // Öncelik 3: FikoDialogCore üzerinden kapat (wrapper içindeyse)\r\n if (this.pencere?.instance?.kapa) {\r\n this.pencere.instance.kapa();\r\n return;\r\n }\r\n }\r\n\r\n kaydetTiklandi() {\r\n this.CD.detectChanges();\r\n this.tiklandiKaydet.emit(this.kisiler ?? []);\r\n this.nzModalRef?.close({ kisiler: this.kisiler ?? [] });\r\n }\r\n\r\n\r\n miKisiListesinde(kisi: any) {\r\n let snc: boolean = false;\r\n this.kisiler.map(val => {\r\n if (val._id == kisi._id) { snc = true };\r\n });\r\n\r\n return snc;\r\n }\r\n\r\n trackByMethod(index: number, el: any): number {\r\n return el._id;\r\n }\r\n\r\n override ngOnDestroy(): void {\r\n // $(\"#dialogKisiSecici\" + this.id_dialog).remove();\r\n this.kisilerChange.complete();\r\n this.tiklandiKaydet.complete();\r\n super.ngOnDestroy();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n Gizlilik Seçici\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n\r\n
\r\n \r\n Herkese Açık\r\n \r\n
Paylaşımınız Tüm Sistemde Herkes Tarafından Görünür
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n Takipleştiklerinizle\r\n \r\n
Paylaşımınız Sizi Takip Edenlere Ve Takip Ettiklerinize Görünür\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n Takip Edenlerle\r\n \r\n
Paylaşımınız Sizi Takip Edenlere Görünür\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n Takip Ettiklerinizle\r\n \r\n
Paylaşımınız Sizin Takip Ettiklerinize Görünür\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n Liste\r\n {{ gizlilik==='Listedekilerle'? ' ('+kisiler.length+')':'' }}\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n Listedekilerle\r\n \r\n
Paylaşımınız Sadece Listede Seçtiklerinize Görünür
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Liste\r\n {{ gizlilik==='Listedekiler Hariç'? ' ('+kisiler.length+')':'' }}\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n Listedekiler Hariç\r\n \r\n
Paylaşımınız Listede Seçtikleriniz Hariç Herkese Görünür
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Gruplar
\r\n
\r\n \r\n\r\n
\r\n \r\n Seçilen Gruplarla\r\n \r\n
Paylaşımınız Listede Seçtiğiniz Grup Üyelerine Görünür
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
Gruplar
\r\n
\r\n \r\n\r\n
\r\n \r\n Seçilen Gruplar Hariç\r\n \r\n
Paylaşımınız Listede Seçtiğiniz Grup Üyeleri Hariç Herkese Görünür\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n Sadece Ben\r\n \r\n
Paylaşımınızı Sadece Siz Görebilirsiniz
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Kapat\r\n
\r\n
\r\n Kapat\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Kaydet\r\n
\r\n
\r\n Kaydet\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Inject, Injector, Input, OnDestroy, Output } from '@angular/core';\nimport { DialogEtiketlerComponent } from '../dialog-etiketler/dialog-etiketler.component';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { DialogKisiSeciciComponent } from '../dialog-kisi-secici/dialog-kisi-secici.component';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { TurGizlilik } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\nimport { RouterModule } from '@angular/router';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\nimport { NZ_MODAL_DATA } from 'ng-zorro-antd/modal';\n\n\ndeclare var $: any;\n\n@Component({\n selector: 'fikoyt-dialog-gizlilik-secici',\n templateUrl: './dialog-gizlilik-secici.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, RouterModule, NzIconModule, NzButtonModule, NzWaveModule]\n})\nexport class DialogGizlilikSeciciComponent extends FikoYTKokBilesenComponent implements OnDestroy {\n /** */\n @Input() pencere: any; // FikoDialogCore instance'ı\n /** */\n @Input() saltOkunur = false;\n /** */\n private GIZLILIK: TurGizlilik | any = 'Sadece Ben';\n public get gizlilik(): TurGizlilik | any {\n return this.GIZLILIK;\n }\n @Input() public set gizlilik(v: TurGizlilik | any) {\n this.GIZLILIK = v;\n this.gizlilikChange.emit(v);\n // this.CD.detectChanges();\n }\n @Output() gizlilikChange: EventEmitter = new EventEmitter();\n /** */\n private KISILER: string | any[] = [];\n public get kisiler(): string | any {\n return this.KISILER;\n }\n @Input() public set kisiler(v: string | any) {\n this.KISILER = v;\n this.kisilerChange.emit(v);\n this.CD.detectChanges();\n }\n @Output() kisilerChange: EventEmitter = new EventEmitter();\n\n\n @Output() tiklandiKaydet: EventEmitter = new EventEmitter();\n @Output() kapandi: EventEmitter = new EventEmitter();\n\n constructor(@Inject(NZ_MODAL_DATA) public data: any,) {\n super();\n\n setTimeout(() => {\n this.CD.detach();\n })\n }\n\n override ngAfterViewInit(): void {\n this.gizlilik = structuredClone(this.data?.gizlilik ?? 'Sadece Ben');\n this.kisiler = structuredClone(this.data?.liste ?? []);\n }\n\n kaydetTiklandi() {\n this.tiklandiKaydet.emit({ gizlilik: this.gizlilik, liste: this.kisiler });\n this.nzModalRef?.close({ gizlilik: this.gizlilik, liste: this.kisiler });\n }\n\n /** 📢 premium özellik lisansı (köprü yoksa AÇIK). */\n lisans(alt: string): boolean { try { return (window as any).__fikoLisans?.('📢', alt) ?? true; } catch { return true; } }\n /** Gelişmiş gizlilik seviyeleri premium (liste/grup/hariç). Temel seviyeler serbest. */\n private readonly GELISMIS_GIZLILIK = ['Listedekilerle', 'Listedekiler Hariç', 'Seçilen Gruplarla', 'Seçilen Gruplar Hariç'];\n gelismisGizlilikKilit(): boolean { return !this.lisans('gelismis_gizlilik'); }\n\n tiklandiGizlilik(gizlilik: any) {\n if (this.saltOkunur) return;\n if (this.GELISMIS_GIZLILIK.includes(gizlilik) && this.gelismisGizlilikKilit()) {\n this.nzMessage?.warning('Gelişmiş gizlilik (liste/grup) özelliği lisansınızda yok.');\n return;\n }\n this.gizlilik = gizlilik;\n this.CD.detectChanges();\n }\n\n\n tiklandiDialogKisiSecici() {\n let test = this.nzModalServis.create({\n nzContent: DialogKisiSeciciComponent,\n nzDraggable: true,\n nzData: { kisiler: this.kisiler ?? [] },\n // nzTitle: '', // Boş string, null değil\n nzFooter: null, // Footer'ı kaldır\n nzClosable: false, // Sağ üst çarpı butonu görünmesin\n nzMaskClosable: false, // Maskeye tıklayınca kapanabilsin\n nzBodyStyle: { padding: '10px', }, // İç padding'i kaldır\n nzStyle: { padding: '0', 'max-width': '360px' }, // Dış padding'i de kaldır\n }).afterClose.subscribe((data) => {\n if (data) {\n this.kisiler = data?.kisiler ?? this.kisiler;\n }\n test.unsubscribe();\n this.CD.detectChanges();\n });\n }\n\n public kapa() {\n // Öncelik 1: NZ Modal (direkt açılmışsa)\n if (this.nzModalRef) {\n this.kapandi?.emit(); // EventEmitter varsa tetikle\n this.nzModalRef.close();\n return;\n }\n\n // Öncelik 2: EventEmitter (varsa)\n this.kapandi?.emit();\n\n // Öncelik 3: FikoDialogCore üzerinden kapat (wrapper içindeyse)\n if (this.pencere?.instance?.kapa) {\n this.pencere.instance.kapa();\n return;\n }\n }\n\n override ngOnDestroy(): void {\n this.kapandi.emit();\n super.ngOnDestroy();\n }\n}\n","
\r\n
\r\n \r\n
\r\n\r\n
\r\n 🏷️ Etiketler\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n\r\n\r\n \r\n
\r\n \r\n \r\n \r\n Ekle\r\n \r\n
\r\n\r\n\r\n \r\n @if(etiketler.length > 2){\r\n \r\n }\r\n
\r\n \r\n @if(etiketler.length > 0){\r\n

\r\n \r\n Etiket Listesi\r\n

\r\n }\r\n \r\n
\r\n \r\n @for (etiket of etiketler; track etiket; let i = $index, first = $first; let l = $last, ev = $even, o = $odd;\r\n let co =$count){\r\n {{etiket.degeri}}\r\n }\r\n \r\n
\r\n\r\n \r\n @if(etiketler.length < 1){\r\n \r\n
\r\n \r\n Hiç Etiket Eklenmemiş\r\n
\r\n @if(!saltOkunur){\r\n
\r\n
Hemen Ekleyin
\r\n
\r\n }\r\n
\r\n}\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n Kapat\r\n
\r\n
\r\n Kapat\r\n
\r\n \r\n
\r\n \r\n\r\n @if(!saltOkunur){\r\n
\r\n
\r\n Kaydet\r\n
\r\n
\r\n Kaydet\r\n
\r\n \r\n
\r\n }\r\n
\r\n\r\n\r\n\r\n\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Inject, Injector, Input, OnDestroy, OnInit, Output } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { IEtiket } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\nimport { RouterModule } from '@angular/router';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NZ_MODAL_DATA } from 'ng-zorro-antd/modal';\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\n// import { IEtiket } from '@/src/app/servisler/interface/kalem/kalem.interface';\n\ndeclare var $: any;\n\n@Component({\n selector: 'fikoyt-dialog-etiketler',\n templateUrl: './dialog-etiketler.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, RouterModule, NzButtonModule, NzWaveModule, NzIconModule, NzPopconfirmModule]\n})\nexport class DialogEtiketlerComponent extends FikoYTKokBilesenComponent implements OnDestroy {\n // elementDialog: any;\n /** */\n @Input() pencere: any; // FikoDialogCore instance'ı\n /** */\n @Input() saltOkunur = false;\n /** */\n private _etiketler: IEtiket[] = [];\n public get etiketler(): IEtiket[] {\n return this._etiketler;\n }\n @Input() public set etiketler(v: IEtiket[]) {\n if (!v) v = [];\n this._etiketler = v;\n this.etiketlerChange.emit(v);\n // this.CD.detectChanges();\n }\n @Output() etiketlerChange: EventEmitter = new EventEmitter();\n\n @Output() tiklandiKaydet: EventEmitter = new EventEmitter();\n @Output() kapandi: EventEmitter = new EventEmitter();\n /** */\n etiketAktif: IEtiket =\n { renkYazi: \"#ffffff\", renkArka: \"#108ee9\", simge: null, degeri: '', saltOkunur: false };\n\n constructor(@Inject(NZ_MODAL_DATA) public data: any,) {\n super();\n setTimeout(() => {\n this.CD.detach();\n })\n }\n\n override ngAfterViewInit(): void {\n this.etiketler = structuredClone(this.data?.etiketler ?? []);\n }\n\n\n /** 📢 premium özellik lisansı (köprü yoksa AÇIK). */\n lisans(alt: string): boolean { try { return (window as any).__fikoLisans?.('📢', alt) ?? true; } catch { return true; } }\n\n tiklandiEtiketEkle($event: any = null) {\n if (!this.lisans('etiket_editor')) { this.nzMessage?.warning('Özel etiket editörü lisansınızda yok.'); return; }\n if (this.etiketAktif.degeri == null || this.etiketAktif.degeri === '') {\n // this.servisFikoSistem.mesaj.error('Etiket Değeri Boş Bırakılamaz Mutlaka Bişiler Yazılmalı')\n return;\n }\n\n if (!this.etiketler) {\n this.etiketler = []\n }\n\n this.etiketler.push(Object.assign({}, this.etiketAktif));\n if ($event) {\n $event.target.select();\n }\n\n this.etiketAktif.saltOkunur = false;\n this.CD.detectChanges();\n this.etiketlerChange.emit(this.etiketler);\n }\n\n tiklandiEtiketSil($etiket: any) {\n if (this.saltOkunur) return;\n const index = this.etiketler.indexOf($etiket, 0);\n if (index > -1) {\n this.etiketler.splice(index, 1);\n }\n this.CD.detectChanges();\n this.etiketlerChange.emit(this.etiketler);\n }\n\n tiklandiEtiketleriKopyala() {\n navigator.clipboard.writeText(JSON.stringify(this.etiketler)).then(() => {\n // this.FikoYT.mesaj.success('Etiketler Panoya Kopyalandı');\n // let _this = this;\n $('body')\n .toast({\n message: `Etiketler Panoya Kopyalandı`,\n displayTime: 3000,\n class: 'orange',\n classActions: 'top attached',\n });\n });\n }\n\n tiklandiEtiketleriYapistir() {\n try {\n navigator.clipboard.readText().then(clp => {\n try {\n const arrayClipboard = JSON.parse(clp);\n this.etiketler =\n this.etiketler.concat(arrayClipboard).slice().filter(\n (v, i, a) => a.findIndex(t => (t.degeri === v.degeri)) === i);\n this.CD.detectChanges();\n $('body')\n .toast({\n message: `Etiketler Yapıştırıldı`,\n displayTime: 3000,\n class: 'green',\n classActions: 'top attached',\n });\n } catch (err) {\n $('body')\n .toast({\n message: `Hata Oluştu.Etiketler Düzgün Kopyalanmamış Olabilir.`,\n displayTime: 3000,\n class: 'red',\n classActions: 'top attached',\n });\n\n }\n });\n } catch (err) {\n $('body')\n .toast({\n message: `Yetki Hatası`,\n displayTime: 3000,\n class: 'red',\n classActions: 'top attached',\n });\n\n }\n }\n\n kaydetTiklandi() {\n this.tiklandiKaydet.emit(this.etiketler);\n this.nzModalRef?.close(this.etiketler);\n this.kapa();\n }\n\n public kapa() {\n // Öncelik 1: NZ Modal (direkt açılmışsa)\n if (this.nzModalRef) {\n this.kapandi?.emit(); // EventEmitter varsa tetikle\n this.nzModalRef.close();\n return;\n }\n\n // Öncelik 2: EventEmitter (varsa)\n this.kapandi?.emit();\n\n // Öncelik 3: FikoDialogCore üzerinden kapat (wrapper içindeyse)\n if (this.pencere?.instance?.kapa) {\n this.pencere.instance.kapa();\n return;\n }\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n }\n}\n\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Inject, Injector, Input, OnDestroy, Output } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { filter, map } from 'rxjs/operators';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { IstekOlayTuru } from '@/src/service/fikoyt.istek.service';\nimport { debounce } from '@/src/service/fikoyt-ui/decorators/debounce';\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { RouterModule } from '@angular/router';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { FikoYTIstekSayfalama } from '@/src/service/modules/fikoyt-istek-kok/fikoyt-istek-sayfalama';\nimport { NZ_MODAL_DATA } from 'ng-zorro-antd/modal';\nimport { NzPaginationModule } from 'ng-zorro-antd/pagination';\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\n// import { Debounce } from '../../FikoYT/decorators/FikoRator.decorators';\nimport { NzColorPickerModule } from 'ng-zorro-antd/color-picker';\n\ndeclare var $: any;\n\n@Component({\n selector: 'fikoyt-bayrak-editor',\n templateUrl: './.component.html',\n styles: [`\n ::ng-deep .prefix-ustte {\n\n.ant-input-prefix,\n.ant-input-suffix {\n align-items: unset;\n \n}\n}\n`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [RouterModule, CommonModule, FormsModule, NzWaveModule, NzInputModule, NzButtonModule, NzIconModule, NzPaginationModule, NzPopconfirmModule, NzColorPickerModule],\n})\nexport class FikoYTBayrakEditor extends FikoYTKokBilesenComponent implements OnDestroy {\n /** */\n @Input() baslik = \"Bayrak Editör\";\n /** */\n @Input() saltOkunur = false;\n /** */\n private SOLSIMGE: any = {\n aciklama: \"FikoYT Bayrak Açıklaması\",\n baslik: \"FikoYT\",\n renkArka: \"blue\",\n renkYazi: \"white\",\n };\n public get bayrak(): any {\n return this.SOLSIMGE;\n }\n @Input() public set bayrak(v: any) {\n if (!v) v = {\n aciklama: \"FikoYT Bayrak Açıklaması\",\n baslik: \"FikoYT\",\n renkArka: \"blue\",\n renkYazi: \"white\",\n };\n this.SOLSIMGE = JSON.parse(JSON.stringify(v));;\n this.bayrakChange.emit(this.SOLSIMGE);\n }\n @Output() bayrakChange: EventEmitter = new EventEmitter();\n\n @Output() tiklandiKaydet: EventEmitter = new EventEmitter();\n @Output() kapandi: EventEmitter = new EventEmitter();\n\n constructor(@Inject(NZ_MODAL_DATA) public data: any,) {\n super();\n\n\n\n }\n\n override ngAfterViewInit(): void {\n this.bayrak = structuredClone(this.data?.bayrak ?? {\n aciklama: \"FikoYT Bayrak Açıklaması\",\n baslik: \"FikoYT\",\n renkArka: \"blue\",\n renkYazi: \"white\",\n });\n }\n\n\n kapa() {\n this.kapandi.emit();\n this.CD.detectChanges();\n this.nzModalRef?.close();\n // this.kisilerChange.complete();\n // this.tiklandiKaydet.complete();\n // this.CD.detectChanges();\n\n }\n\n kaydetTiklandi() {\n this.CD.detectChanges();\n this.tiklandiKaydet.emit(this.bayrak ?? {\n aciklama: \"FikoYT Bayrak Açıklaması\",\n baslik: \"FikoYT\",\n renkArka: \"blue\",\n renkYazi: \"white\",\n });\n this.nzModalRef?.close({\n bayrak: this.bayrak ?? {\n aciklama: \"FikoYT Bayrak Açıklaması\",\n baslik: \"FikoYT\",\n renkArka: \"blue\",\n renkYazi: \"white\",\n }\n });\n }\n\n\n\n trackByMethod(index: number, el: any): number {\n return el._id;\n }\n\n override ngOnDestroy(): void {\n // $(\"#dialogKisiSecici\" + this.id_dialog).remove();\n this.bayrakChange.complete();\n this.tiklandiKaydet.complete();\n super.ngOnDestroy();\n }\n}\n","
\r\n \r\n
\r\n
\r\n Bayrak Düzenle\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n {{bayrak?.baslik ?? \"FikoYT\"}}\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Arka Renk\r\n \r\n \r\n Yazı Rengi\r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n Kapat\r\n
\r\n
\r\n Kapat\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n Kaydet\r\n
\r\n
\r\n Kaydet\r\n
\r\n \r\n
\r\n
","import { ChangeDetectionStrategy, Component, Inject, OnDestroy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { RouterModule } from '@angular/router';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\nimport { NZ_MODAL_DATA } from 'ng-zorro-antd/modal';\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\n\n\ndeclare var $: any;\n\n@Component({\n templateUrl: './.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, RouterModule, NzIconModule, NzButtonModule, NzWaveModule, NzPopconfirmModule]\n})\nexport class PaylasKartMenuComponent extends FikoYTKokBilesenComponent implements OnDestroy {\n\n\n constructor(@Inject(NZ_MODAL_DATA) public data: any,) {\n super();\n\n }\n\n ngOnDestroy(): void {\n super.ngOnDestroy();\n }\n\n}\n","
\n
\n Kart Ayarları\n
\n \n
\n\n
\n \n\n \n\n \n\n \n
\n","import { ChangeDetectionStrategy, Component, inject, OnInit } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\nimport { NZ_MODAL_DATA, NzModalRef } from 'ng-zorro-antd/modal';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\nimport { NzTagModule } from 'ng-zorro-antd/tag';\nimport { NzDividerModule } from 'ng-zorro-antd/divider';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { IKart, IKartTuru } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\n\n@Component({\n selector: 'dialog-sablon-secici',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule, NzButtonModule, NzInputModule, NzIconModule, NzEmptyModule, NzTagModule, NzDividerModule],\n template: `\n
\n
\n \n
\n
\n Şablondan Oluştur\n
\n\n \n
\n \n \n \n \n
\n\n \n @if (yukleniyor) {\n
\n Şablonlar yükleniyor...\n
\n }\n\n \n @if (!yukleniyor && sablonlarim.length > 0) {\n
\n Şablonlarım\n
\n \n }\n\n \n @if (!yukleniyor && sistemSablonlari.length > 0) {\n \n \n }\n\n \n @if (!yukleniyor && sablonlarim.length === 0 && sistemSablonlari.length === 0) {\n \n }\n\n
\n \n \n
\n
\n `,\n})\nexport class DialogSablonSeciciComponent extends FikoYTKokBilesenComponent implements OnInit {\n readonly nzModalRef = inject(NzModalRef);\n readonly data: any = inject(NZ_MODAL_DATA, { optional: true });\n\n sablonlarim: IKart[] = [];\n sistemSablonlari: IKart[] = [];\n filtrelenmisKendi: IKart[] = [];\n filtrelenmisSistem: IKart[] = [];\n aramaMetni = '';\n yukleniyor = false;\n\n constructor() {\n super();\n }\n\n async ngOnInit() {\n await this.sablonlariYukle();\n }\n\n async sablonlariYukle() {\n this.yukleniyor = true;\n this.CD.detectChanges();\n\n try {\n const kullaniciId = this.FikoYT.kimlik.aktifKullaniciJson()?._id;\n\n const istek = new FikoYTIstekKok({\n metod: 'POST',\n komut: 'FikoYT.sistem.DB.hareketler.aggregate',\n parametreler: {\n aggregate: [\n {\n $match: {\n vt: \"FikoYT.sistem.hareketler\",\n turu: IKartTuru.SABLON,\n silindi: { $ne: true },\n $or: [\n { sahip: kullaniciId },\n { gizlilik: 'Herkese Açık' }\n ]\n }\n },\n { $sort: { tarih: -1 } },\n { $limit: 50 }\n ]\n },\n onEkOlsun: true,\n depoModu: false,\n });\n\n const cevap = await istek.isteSync();\n const tumSablonlar: IKart[] = cevap?.cevap?.sonuc ?? [];\n\n this.sablonlarim = tumSablonlar.filter(s => s.sahip === kullaniciId);\n this.sistemSablonlari = tumSablonlar.filter(s => s.sahip !== kullaniciId);\n this.filtrele();\n } catch (e) {\n console.warn('Şablonlar yüklenemedi:', e);\n } finally {\n this.yukleniyor = false;\n this.CD.detectChanges();\n }\n }\n\n filtrele() {\n const metin = this.aramaMetni?.toLowerCase()?.trim();\n if (!metin) {\n this.filtrelenmisKendi = this.sablonlarim;\n this.filtrelenmisSistem = this.sistemSablonlari;\n } else {\n this.filtrelenmisKendi = this.sablonlarim.filter(s =>\n (s.veri?.sablonAdi || '').toLowerCase().includes(metin) ||\n (s.veri?.sablonAciklama || '').toLowerCase().includes(metin)\n );\n this.filtrelenmisSistem = this.sistemSablonlari.filter(s =>\n (s.veri?.sablonAdi || '').toLowerCase().includes(metin) ||\n (s.veri?.sablonAciklama || '').toLowerCase().includes(metin)\n );\n }\n this.CD.detectChanges();\n }\n\n /** 📢 premium özellik lisansı (köprü yoksa AÇIK). */\n lisans(alt: string): boolean { try { return (window as any).__fikoLisans?.('📢', alt) ?? true; } catch { return true; } }\n sistemSablonKilit(): boolean { return !this.lisans('sistem_sablon'); }\n\n sablonSec(sablon: IKart) {\n // Başkasının (sistem) şablonu premium: sistem_sablon\n const sistemMi = this.sistemSablonlari.some(s => s._id === sablon._id);\n if (sistemMi && this.sistemSablonKilit()) { this.nzMessage?.warning('Sistem şablonları erişimi lisansınızda yok.'); return; }\n this.nzModalRef.close(sablon);\n }\n}\n","import { inject, Injectable, Injector } from '@angular/core';\nimport { FikoYTIstekKok } from '../../../../modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\n\nexport type KartBildirimTipi = 'kart_olusturuldu' | 'kart_guncellendi' | 'alt_kart_eklendi' | 'kart_silindi' | 'bahsedildi';\n\n@Injectable({ providedIn: 'root' })\nexport class KartBildirimService {\n private injector = inject(Injector);\n\n private sonBildirimler = new Map();\n private readonly RATE_LIMIT_MS = 5 * 60 * 1000;\n\n async bildirimTetikle(\n tip: KartBildirimTipi,\n kartId: string,\n kartSahipId: string,\n kartBaslik?: string,\n ): Promise {\n const { FikoYTService } = await import('../../../../fikoyt.service');\n const fikoyt = this.injector.get(FikoYTService);\n const gondericId = fikoyt.kimlik.aktifKullaniciJson()?._id;\n const gondericIsim = fikoyt.kimlik.aktifKullaniciJson()?.isim || '';\n if (!gondericId || !kartSahipId) return;\n if (gondericId === kartSahipId) return;\n\n const anahtar = `${tip}:${kartId}:${kartSahipId}`;\n const simdi = Date.now();\n const son = this.sonBildirimler.get(anahtar);\n if (son && simdi - son < this.RATE_LIMIT_MS) return;\n\n this.sonBildirimler.set(anahtar, simdi);\n\n const mesajlar: Record = {\n kart_olusturuldu: 'yeni bir kart oluşturdu',\n kart_guncellendi: 'kartınızı güncelledi',\n alt_kart_eklendi: 'kartınıza yorum ekledi',\n kart_silindi: 'kartınızı sildi',\n bahsedildi: 'sizi bir kartta bahsetti',\n };\n\n await this.bildirimKaydet({\n aliciId: kartSahipId, gondericId, gondericIsim, olay: tip,\n kartId, kartBaslik: kartBaslik ?? '', mesaj: `${gondericIsim} ${mesajlar[tip]}`,\n });\n\n this.islemLoguKaydet(tip, kartId, { kartBaslik, aliciId: kartSahipId });\n\n try {\n const { TetiklemeService } = await import('@/src/app/servisler/tetikleme.service');\n const tetiklemeSvc = this.injector.get(TetiklemeService);\n tetiklemeSvc.tetiklemeleriKontrolEt(tip, '', { _id: kartId, baslik: kartBaslik, sahipId: kartSahipId, olusturanId: gondericId });\n } catch {}\n }\n\n async mentionBildirimGonder(\n kartId: string,\n kartBaslik: string,\n icerikHtmlleri: string[],\n ): Promise {\n const { FikoYTService } = await import('../../../../fikoyt.service');\n const fikoyt = this.injector.get(FikoYTService);\n const gondericId = fikoyt.kimlik.aktifKullaniciJson()?._id;\n const gondericIsim = fikoyt.kimlik.aktifKullaniciJson()?.isim || '';\n if (!gondericId) return;\n\n const tumIdler = new Set();\n for (const html of icerikHtmlleri) {\n const regex = /data-user-id=\"([^\"]+)\"/g;\n let match;\n while ((match = regex.exec(html)) !== null) tumIdler.add(match[1]);\n }\n\n for (const aliciId of tumIdler) {\n if (aliciId === gondericId) continue;\n const anahtar = `bahsedildi:${kartId}:${aliciId}`;\n const simdi = Date.now();\n const son = this.sonBildirimler.get(anahtar);\n if (son && simdi - son < this.RATE_LIMIT_MS) continue;\n this.sonBildirimler.set(anahtar, simdi);\n\n await this.bildirimKaydet({\n aliciId, gondericId, gondericIsim, olay: 'bahsedildi',\n kartId, kartBaslik,\n mesaj: `${gondericIsim} sizi bir kartta bahsetti`,\n });\n }\n }\n\n async islemLoguKaydet(islem: string, kartId: string, detay?: any): Promise {\n try {\n const { FikoYTService } = await import('../../../../fikoyt.service');\n const fikoyt = this.injector.get(FikoYTService);\n const kullanici = fikoyt.kimlik.aktifKullaniciJson();\n const log = {\n vt: 'FikoYT.sistem.islem-loglari',\n islem,\n kartId,\n kullaniciId: kullanici?._id || '',\n kullaniciIsim: (kullanici?.isim || '') + ' ' + (kullanici?.soyIsim || ''),\n detay: detay || {},\n tarih: new Date().toISOString(),\n tarayici: navigator.userAgent,\n };\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.ekle' });\n const fd = new FormData();\n fd.append('req_body', JSON.stringify(log));\n istek.parametreler = fd;\n await istek.isteSync();\n } catch {}\n }\n\n private async bildirimKaydet(veri: {\n aliciId: string; gondericId: string; gondericIsim: string; olay: KartBildirimTipi;\n kartId: string; kartBaslik: string; mesaj: string;\n }): Promise {\n const bildirim: any = {\n vt: 'FikoYT.sistem.bildirimler',\n ...veri,\n okudu: false,\n tarih: new Date().toISOString(),\n oncelik: 'normal',\n };\n try {\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.ekle' });\n const fd = new FormData();\n fd.append('req_body', JSON.stringify(bildirim));\n istek.parametreler = fd;\n await istek.isteSync();\n\n const { FikoYTService } = await import('../../../../fikoyt.service');\n const fikoYT = this.injector.get(FikoYTService);\n fikoYT.io?.emit?.('FikoYT.sistem.io.bildirim', bildirim);\n } catch { }\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport { CanliGuncellemeService } from './canli-guncelleme.service';\n\n/**\n * 🚀 PERFORMANS: Bir kartın \"yorumSayisi\" ve \"_hesap.*\" özet alanları eskiden\n * `paylasim-sistemi.component.ts`'deki feed sorgusunda HER sayfa yüklemesinde,\n * HER kart için 4 ayrı iç içe $lookup ile canlı hesaplanıyordu (bkz. performans\n * raporu). Bu servis aynı hesaplamayı SADECE bir alt kart eklendiğinde/\n * güncellendiğinde, TEK bir karta scoped şekilde çalıştırıp sonucu üst kartın\n * `_hesap` alanına kalıcı olarak yazar (denormalize/cache). Feed artık bu\n * alanları doğrudan okur, yeniden hesaplamaz.\n */\n@Injectable({ providedIn: 'root' })\nexport class AltKartOzetService {\n private canli = inject(CanliGuncellemeService);\n\n /** parentId'nin _hesap özetini (paylasim-sistemi.component.ts'deki pipeline ile\n * birebir aynı mantık, tek karta scoped) yeniden hesaplayıp üst karta yazar. */\n async ozetGuncelle(parentId: string): Promise {\n if (!parentId) return;\n try {\n const aggIstek = new FikoYTIstekKok({\n metod: 'POST',\n komut: 'FikoYT.sistem.DB.hareketler.aggregate',\n parametreler: { aggregate: this._pipelineOlustur(parentId) },\n });\n const cevap: any = await aggIstek.isteSync();\n const hesap = cevap?.cevap?.sonuc?.[0];\n if (!hesap) return;\n\n const govde = {\n _id: parentId,\n yorumSayisi: hesap.yorumSayisi ?? 0,\n _hesap: hesap._hesap ?? {},\n };\n const formData = new FormData();\n formData.append('req_body', JSON.stringify(govde));\n const yazIstek = new FikoYTIstekKok({\n metod: 'POST',\n komut: 'FikoYT.sistem.DB.hareketler.ekle',\n parametreler: formData,\n onEkOlsun: true,\n depoModu: false,\n });\n await yazIstek.isteSync();\n\n // Açık sekmelerde/oturumda anlık yansısın — sunucu zaten diğer kullanıcılara socket ile yayacak\n this.canli.guncellemeYayin(parentId, govde);\n } catch (e) {\n // Sessiz — bir sonraki alt kart olayında veya manuel yenilemede telafi olur\n console.warn('[AltKartOzet] Özet güncellenemedi:', parentId, e);\n }\n }\n\n /** paylasim-sistemi.component.ts'deki feed pipeline'ının BİREBİR aynısı — tek farkla:\n * $match ilk aşamada tüm listeyi değil, sadece parentId'yi hedefler. */\n private _pipelineOlustur(parentId: string): any[] {\n return [\n { $match: { _id: parentId } },\n {\n $lookup: {\n from: 'hareketler',\n let: { pid: '$_id' },\n pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, turu: 'KART', silindi: { $ne: true } } },\n { $count: 'sayi' }\n ],\n as: '_altKartSayim'\n }\n },\n {\n $lookup: {\n from: 'hareketler',\n let: { pid: '$_id' },\n pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, turu: 'KART', silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'cam.kutuk.durum' } },\n { $sort: { _id: -1 } },\n { $limit: 1 }\n ],\n as: '_kutukDurumAlt'\n }\n },\n {\n $lookup: {\n from: 'hareketler',\n let: { pid: '$_id' },\n pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'kutuk-stok.hareket' } },\n { $sort: { _id: 1 } },\n { $project: {\n _id: '$ic._id',\n tip: { $ifNull: ['$ic.ek.tip', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'tip'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 'giris'] } } } ] },\n miktar: { $toDouble: { $ifNull: ['$ic.ek.miktar', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'miktar'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', 0] } } } ] } },\n aciklama: { $ifNull: ['$ic.ek.aciklama', { $let: { vars: { p: { $arrayElemAt: [ { $filter: { input: { $ifNull: ['$ic.ek.parametreler', []] }, as: 'x', cond: { $eq: ['$$x.ismi', 'aciklama'] } } }, 0 ] } }, in: { $ifNull: ['$$p.degeri', ''] } } } ] },\n ek: '$ic.ek',\n } },\n ],\n as: '_kutukStokHareket'\n }\n },\n {\n $lookup: {\n from: 'hareketler',\n let: { pid: '$_id' },\n pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, turu: 'KART', silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'proje.tanimi.durum' } },\n { $sort: { _id: -1 } },\n { $limit: 1 }\n ],\n as: '_projeDurumAlt'\n }\n },\n {\n $lookup: {\n from: 'hareketler',\n let: { pid: '$_id' },\n pipeline: [\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, turu: 'KART', silindi: { $ne: true } } },\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\n { $match: { 'ic.ek._secilenSetId': 'proje.tanimi.durum' } },\n { $sort: { _id: 1 } },\n { $addFields: {\n _ilerlemeTipi: { $ifNull: ['$ic.ek.ilerlemeTipi', 'kesin'] },\n _ilerlemeDeger: {\n $cond: [\n { $and: [{ $ne: ['$ic.ek.ilerlemeDegeri', null] }, { $ne: ['$ic.ek.ilerlemeDegeri', ''] }] },\n { $convert: { input: '$ic.ek.ilerlemeDegeri', to: 'double', onError: 0, onNull: 0 } },\n { $switch: { branches: [\n { case: { $eq: ['$ic.ek.durum', 'Tamamlandı'] }, then: 100 },\n { case: { $eq: ['$ic.ek.durum', 'Devam Ediyor'] }, then: 50 },\n { case: { $eq: ['$ic.ek.durum', 'Beklemede'] }, then: 25 },\n { case: { $eq: ['$ic.ek.durum', 'Planlandı'] }, then: 10 },\n { case: { $eq: ['$ic.ek.durum', 'İptal'] }, then: 0 },\n ], default: 0 } }\n ]\n }\n } },\n { $group: { _id: null, kayitlar: { $push: { tipi: '$_ilerlemeTipi', deger: '$_ilerlemeDeger', durum: '$ic.ek.durum' } } } },\n { $addFields: {\n hamIlerleme: {\n $reduce: {\n input: '$kayitlar', initialValue: 0,\n in: { $cond: [{ $eq: ['$$this.tipi', 'eklemeli'] }, { $add: ['$$value', '$$this.deger'] }, '$$this.deger'] }\n }\n },\n toplam: { $size: '$kayitlar' },\n tamamlanan: {\n $size: { $filter: { input: '$kayitlar', cond: { $or: [\n { $eq: ['$$this.durum', 'Tamamlandı'] }, { $gte: ['$$this.deger', 100] }\n ] } } }\n }\n } },\n { $addFields: { ilerleme: { $max: [0, { $min: [100, '$hamIlerleme'] }] } } }\n ],\n as: '_projeIlerlemeAlt'\n }\n },\n {\n $addFields: {\n yorumSayisi: { $ifNull: [{ $arrayElemAt: ['$_altKartSayim.sayi', 0] }, 0] },\n '_hesap.altKartSayisi': { $ifNull: [{ $arrayElemAt: ['$_altKartSayim.sayi', 0] }, 0] },\n '_hesap.sonDurum': { $ifNull: [{ $arrayElemAt: ['$_kutukDurumAlt.ic.ek.durum', 0] }, null] },\n '_hesap.kalanStok': {\n $reduce: {\n input: '$_kutukStokHareket',\n initialValue: 0,\n in: { $switch: { branches: [\n { case: { $eq: ['$$this.tip', 'giris'] }, then: { $add: ['$$value', '$$this.miktar'] } },\n { case: { $in: ['$$this.tip', ['cikis', 'fire']] }, then: { $subtract: ['$$value', '$$this.miktar'] } },\n { case: { $eq: ['$$this.tip', 'sayim'] }, then: '$$value' },\n ], default: '$$value' } },\n },\n },\n '_hesap.altHareketler': { $slice: ['$_kutukStokHareket', -5] },\n '_hesap.projeSonDurum': { $ifNull: [{ $arrayElemAt: ['$_projeDurumAlt.ic.ek.durum', 0] }, null] },\n '_hesap.projeIlerleme': { $round: [{ $ifNull: [{ $arrayElemAt: ['$_projeIlerlemeAlt.ilerleme', 0] }, 0] }, 0] },\n '_hesap.projeAltToplam': { $ifNull: [{ $arrayElemAt: ['$_projeIlerlemeAlt.toplam', 0] }, 0] },\n '_hesap.projeAltTamamlanan': { $ifNull: [{ $arrayElemAt: ['$_projeIlerlemeAlt.tamamlanan', 0] }, 0] },\n '_hesap.olculer': {\n $let: {\n vars: { ic: { $arrayElemAt: ['$veri.icerikler', 0] } },\n in: {\n $sortArray: {\n input: {\n $filter: {\n input: [\n { $convert: { input: '$$ic.ek.en', to: 'double', onError: null, onNull: null } },\n { $convert: { input: '$$ic.ek.boy', to: 'double', onError: null, onNull: null } },\n { $convert: { input: '$$ic.ek.yukseklik', to: 'double', onError: null, onNull: null } }\n ],\n as: 'v',\n cond: { $and: [{ $ne: ['$$v', null] }, { $gt: ['$$v', 0] }] }\n }\n },\n sortBy: 1\n }\n }\n }\n }\n }\n },\n {\n $addFields: {\n '_hesap.enKucukOlcu': { $arrayElemAt: ['$_hesap.olculer', 0] },\n '_hesap.ortancaOlcu': { $arrayElemAt: ['$_hesap.olculer', 1] },\n '_hesap.enBuyukOlcu': { $arrayElemAt: ['$_hesap.olculer', 2] },\n }\n },\n { $project: { yorumSayisi: 1, _hesap: 1 } },\n ];\n }\n}\n","
\r\n @if (paylasimBasarili && !duzenlemeModunda) {\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n }\r\n\r\n \r\n @if (taslakMevcut && !duzenlemeModunda) {\r\n
\r\n \r\n
Kaydedilmemiş taslak bulundu
\r\n

Önceki oturumdan kalan bir taslak var. Devam etmek ister misiniz?

\r\n \r\n \r\n
\r\n }\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n {{ FikoYT.kimlik.aktifKullaniciJson()?.isim+ ' '+ FikoYT.kimlik.aktifKullaniciJson()?.soyIsim }}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{kart?.veri?.solSimge?.baslik}}\r\n
\r\n
\r\n \r\n
\r\n @if (hatalar.length>0) {\r\n
\r\n \r\n
\r\n İçeriklerinizde Hatalar var\r\n
\r\n
    \r\n @for (hata of hatalar;track $index){\r\n
  • {{hata.mesaj}}
  • \r\n }\r\n
\r\n
\r\n }\r\n @if (uyarilar.length>0) {\r\n
\r\n \r\n
\r\n İçeriklerinizde Uyarılar var\r\n
\r\n
    \r\n @for (uyari of uyarilar;track $index){\r\n
  • {{uyari.mesaj}}
  • \r\n }\r\n
\r\n
\r\n }\r\n\r\n \r\n
\r\n 0\"\r\n [parametreSetiAcik]=\"parametreSetiPaneliAcik\"\r\n [sayfaKurallari]=\"aktifSayfaKurallari\"\r\n [parametreSetleri]=\"parametreSetleri\"\r\n [seciliSetId]=\"aktifSayfaSetId\"\r\n [kullaniciYetkileri]=\"FikoYT.kimlik.aktifKullaniciJson()?._uyeYetkiler ?? []\"\r\n [kartParametreler]=\"kart?.parametreler ?? []\"\r\n (parametreSetiTiklandi)=\"parametreSetiPaneliAcik = (!parametreSetiPaneliAcik || !aktifSayfaSetId); CD.detectChanges();\"\r\n (setSecildi)=\"onSetSecildi($event)\"\r\n (setKaldirildi)=\"onSetKaldirildi()\"\r\n (parametrelerDegisti)=\"onSetParametrelerDegisti($event)\"\r\n (icerikChange)=\"taslakKaydet();CD.detectChanges();\">\r\n \r\n
\r\n\r\n @if (ekleIstek.mesgul) {\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n
\r\n\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n\r\n
3 ? 'visible':'hidden'\"\r\n nz-wave\r\n nz-popconfirm\r\n nzPopconfirmTitle=\"Tüm İçerikler Silinecek Eminmisiniz?\"\r\n nzOkText=\"Evet\"\r\n nzCancelText=\"İptal\"\r\n nzOkDanger\r\n (nzOnConfirm)=\"tiklandiTumIcerikleriSil($event)\">\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
3 ? 'visible':'hidden'\"\r\n [class.disabled]=\"aktifIcerikNo < 1\"\r\n (click)=\"aktifIcerikNo=0;\"\r\n style=\"margin-right: 0.5rem;\">\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n {{ aktifIcerikNo+1 }}\r\n /\r\n {{ kart?.veri?.icerikler.length ?? \"0\" }}\r\n \r\n\r\n
kart?.veri.icerikler.length-1\"\r\n (click)=\"aktifIcerikNo=aktifIcerikNo+1;\">\r\n \r\n
\r\n\r\n
3 ? 'visible':'hidden'\"\r\n [class.disabled]=\"aktifIcerikNo + 1 > kart?.veri.icerikler.length-1\"\r\n (click)=\"aktifIcerikNo=kart?.veri.icerikler.length;\"\r\n style=\"margin-left: 0.5rem;\">\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n
= aktifSayfaKurallari?.maxSayfa)\"\r\n (click)=\"icerikEkle();aktifIcerikNo=kart?.veri.icerikler.length;CD.detectChanges();\">\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n @if (!duzenlemeModunda) {\r\n \r\n\r\n \r\n }\r\n\r\n @if (duzenlemeModunda) {\r\n
\r\n \r\n \r\n
\r\n } @else {\r\n \r\n }\r\n\r\n
\r\n\r\n @if (parametreleriGoster) {\r\n \r\n\r\n
\r\n
\r\n Parametreler\r\n @if (kart?.parametreler?.length > 0) {\r\n \r\n }\r\n
\r\n \r\n
\r\n }\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, HostListener, Inject, inject, Injector, Input, OnDestroy, OnInit, Output, signal, ViewChild } from '@angular/core';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { PaylasIcerikEditorComponent } from './paylas-icerik-editor/paylas-icerik-editor.component';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { IKart, IKartTuru, TurGizlilik, TurGizlilikBilgi } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\r\nimport { ServisUyarProjeler } from '@/src/app/uygulamalar/uyar-dokum/projeler/projeler.service';\r\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\r\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { DialogGizlilikSeciciComponent } from '../../dialog-gizlilik-secici/dialog-gizlilik-secici.component';\r\nimport { DialogEtiketlerComponent } from '../../dialog-etiketler/dialog-etiketler.component';\r\nimport { DialogKisiSeciciComponent } from '../../dialog-kisi-secici/dialog-kisi-secici.component';\r\nimport { FikoYTBayrakEditor } from '../../bayrak-editor/.component';\r\nimport { IUyarKartComponent } from './paylas-icerik-editor/IUyarDokum/uyar-kutusu.component';\r\nimport { IParametre, IParametreTumu, parametreAyikla, tumHatalariniAl } from '@/src/service/fikoyt-ui/interfaces/IParametre/IParametre';\r\nimport { ParametreSetiSeciciComponent } from './parametre-seti-secici/parametre-seti-secici.component';\r\nimport { IParametreSetiGrubu, IParametreSeti } from '@/src/service/fikoyt-ui/interfaces/IParametreSeti.interface';\r\nimport { NzDividerComponent } from \"ng-zorro-antd/divider\";\r\nimport { ParametrelerComponent } from '../../../parametreler/parametreler.component';\r\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\r\nimport { PaylasKartMenuComponent } from './paylas-kart-menu/.component';\r\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\r\nimport { DialogSablonSeciciComponent } from '../../dialog-sablon-secici/dialog-sablon-secici.component';\r\nimport { CanliGuncellemeService } from '../../../dinamik-bilesen/canli-guncelleme.service';\r\nimport { KartBildirimService } from '../../../dinamik-bilesen/kart-bildirim.service';\r\nimport { AltKartOzetService } from '../../../dinamik-bilesen/alt-kart-ozet.service';\r\n\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'paylas-ikart-kutusu',\r\n templateUrl: './ikart-kutusu.component.html',\r\n styleUrls: ['./ikart-kutusu.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n PaylasIcerikEditorComponent,\r\n NzPopconfirmModule,\r\n NzWaveModule,\r\n NzButtonModule,\r\n NzInputModule,\r\n NzDividerComponent,\r\n ParametrelerComponent,\r\n NzSpinModule,\r\n ]\r\n})\r\nexport class IKartComponent extends FikoYTKokBilesenComponent implements OnInit, OnDestroy {\r\n @ViewChild('PaylasUyarKutusu', { static: false }) paylasUyarKutusu: IUyarKartComponent;\r\n\r\n private _kart: IKart | undefined;\r\n @Input() set kart(v: IKart | undefined) {\r\n this._kart = v;\r\n if (v && this.parametreSetiZorunlu && this.parametreSetleri?.length > 0) {\r\n for (const icerik of (v.veri?.icerikler ?? [])) {\r\n if (!icerik.ek || icerik.ek.turu !== 'UYGULAMAICERIK') {\r\n icerik.ek = { turu: 'UYGULAMAICERIK', _id: '', parametreler: [] };\r\n }\r\n }\r\n }\r\n }\r\n get kart() { return this._kart; }\r\n /** Düzenleme modu: mevcut bir kartı güncellemek için */\r\n @Input() duzenlemeModunda: boolean = false;\r\n /** Hibrit parametre seti grupları (kod tarafı) */\r\n @Input() parametreSetleri: IParametreSetiGrubu[] = [];\r\n /** Parametre seti seçimi zorunlu mu (true ise otomatik UYGULAMAICERIK eki atanır) */\r\n @Input() parametreSetiZorunlu: boolean = false;\r\n\r\n /** Her sayfanın seçili set id'si: sayfaIndex → setId */\r\n readonly sayfaSetMap = signal>(new Map());\r\n\r\n /** Her sayfanın seçili parametreleri: sayfaIndex → IParametre[] */\r\n readonly sayfaParametreMap = signal>(new Map());\r\n\r\n readonly dinamikParametreler = signal({});\r\n\r\n /** Parametre seti seçici paneli açık mı */\r\n parametreSetiPaneliAcik = false;\r\n\r\n /** Aktif sayfanın set kuralları */\r\n get aktifSayfaKurallari(): IParametreSeti['sayfaKurallari'] | null {\r\n const setId = this.sayfaSetMap().get(this.aktifIcerikNo);\r\n if (!setId) return null;\r\n for (const grup of this.parametreSetleri) {\r\n if (grup.id === setId) return null;\r\n for (const alt of (grup.altGruplar ?? [])) {\r\n if (alt.id === setId) return alt.sayfaKurallari ?? null;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /** Aktif sayfanın seçili set id'si */\r\n get aktifSayfaSetId(): string | null {\r\n return this.sayfaSetMap().get(this.aktifIcerikNo) ?? null;\r\n }\r\n\r\n /** Taslak sistemini devre dışı bırak */\r\n @Input() taslakDevreDisi = false;\r\n /** */\r\n @Output() paylasimYapildi: EventEmitter = new EventEmitter();\r\n /** Düzenleme iptal edildiğinde */\r\n @Output() duzenlemeIptalEdildi: EventEmitter = new EventEmitter();\r\n /** */\r\n private _parametreleriGoster = false;\r\n get parametreleriGoster() { return this._parametreleriGoster; }\r\n set parametreleriGoster(v: boolean) {\r\n if (v === this._parametreleriGoster) return;\r\n this._parametreleriGoster = v;\r\n if (v) history.pushState({ paylasim: 'parametreler' }, '');\r\n }\r\n tasarimModu = false;\r\n /** */\r\n simgeButonGizlilik: string = \"fa fa-globe-europe\";\r\n /** */\r\n hatalar: any[] = [];\r\n uyarilar: any[] = [];\r\n\r\n ilerleme = 0;\r\n paylasimBasarili = false;\r\n\r\n paylasimSpinUyariMetni: string = \"Paylaşım Yapılıyor...\";\r\n\r\n /** 🐛 FIX: nz-spin görünürlüğü eskiden `ekleIstek.mesgul`e bağlıydı — ama bu flag\r\n * çok-içerikli paylaşımlarda HER alt istek (her içerik parçası) tamamlandığında\r\n * kısa süreliğine false'a düşüp bir sonraki içerik isteği başlarken tekrar true\r\n * oluyordu (bkz. FikoYTIstekKok.execute()). Bu geçiş Angular'ın OnPush değişiklik\r\n * algılamasına bildirilmediği için progress metni (\"İçerik X/Y\") güncellenen an\r\n * ile spinner'ın görünür olduğu an çakışmıyordu — sonuç: ilerleme metni \"takılı\"\r\n * görünüyordu. Artık spinner'ın görünürlüğü TÜM çoklu-istek süresince sabit kalan\r\n * bu bağımsız flag'e bağlı; metin güncellemesi + detectChanges() her zaman\r\n * görünür bir spinner üzerinde gerçekleşiyor. */\r\n paylasimIsleniyor = false;\r\n\r\n /** Taslak kayıt */\r\n private taslakZamanlayici: any = null;\r\n taslakMevcut: boolean = false;\r\n\r\n get gizlilikSimge(): string | undefined {\r\n return TurGizlilikBilgi[this.kart.gizlilik].simge;\r\n };\r\n\r\n get gizlilikSimgeSinif(): string | undefined {\r\n return TurGizlilikBilgi[this.kart.gizlilik].simgeSinif;\r\n };\r\n /** */\r\n mesgul: boolean = false;\r\n\r\n /** Sayfa geçiş animasyonu */\r\n sayfaAnimSinifi: string = '';\r\n private _sayfaAnimZamanlayici: any = null;\r\n\r\n /** */\r\n public get aktifIcerikNo(): number {\r\n return this.servisUyarProjeler.aktifIcerikNo;\r\n }\r\n public set aktifIcerikNo(v: number) {\r\n const onceki = this.servisUyarProjeler.aktifIcerikNo;\r\n if (v < 0) {\r\n v = 0\r\n }\r\n if (v >= this.kart.veri.icerikler.length) {\r\n v = this.kart.veri.icerikler.length - 1;\r\n }\r\n if (v === onceki) return;\r\n // Sayfa geçiş yönüne göre animasyon\r\n this.sayfaAnimSinifi = v > onceki ? 'sayfa-cikis-sol' : 'sayfa-cikis-sag';\r\n this.CD.detectChanges();\r\n clearTimeout(this._sayfaAnimZamanlayici);\r\n this._sayfaAnimZamanlayici = setTimeout(() => {\r\n this.servisUyarProjeler.aktifIcerikNo = v;\r\n this.dinamikParametreleriGuncelle();\r\n this.sayfaAnimSinifi = v > onceki ? 'sayfa-giris-sag' : 'sayfa-giris-sol';\r\n this.CD.detectChanges();\r\n setTimeout(() => {\r\n this.sayfaAnimSinifi = '';\r\n this.CD.detectChanges();\r\n }, 300);\r\n }, 180);\r\n }\r\n\r\n /** */\r\n ekleIstek: FikoYTIstekKok;\r\n private canliGuncelleme = inject(CanliGuncellemeService);\r\n private kartBildirim = inject(KartBildirimService);\r\n private altKartOzet = inject(AltKartOzetService);\r\n\r\n constructor(public servisUyarProjeler: ServisUyarProjeler) {\r\n super();\r\n // Not: FikoYTKokBilesenComponent zaten FikoYT.degisti'ye subscribe oluyor ve subsList'e ekliyor.\r\n // Burada ek bir subscribe yaparak cift CD tetikleme ve memory leak onleniyor.\r\n // Kok bilesen'deki subscribe yeterli.\r\n\r\n this.ekleIstek = new FikoYTIstekKok({\r\n metod: 'POST',\r\n komut: `FikoYT.sistem.DB.hareketler.ekle`,\r\n onEkOlsun: true,\r\n // parametreler: { id: 123 },\r\n depoModu: false,\r\n oncelik: 0,\r\n gecikmeliCevap: true,\r\n gecikmeliCevapSuresi: 500,\r\n\r\n }).onHata(({ self, hatalar }) => {\r\n this.nzNotification.error(\"Hatalar Var\", hatalar.map(hata => hata.mesaj).join(\"\\n\"), { nzPlacement: 'bottomRight' });\r\n })\r\n .onBaslatildi(({ self }) => {\r\n this.ilerleme = 0;\r\n this.CD.detectChanges();\r\n })\r\n .onIstekIlerleme(({ self, ilerleme }) => {\r\n this.ilerleme = ilerleme.yuzde;\r\n this.CD.detectChanges();\r\n })\r\n .onTamamlandi(({ self }) => {\r\n this.CD.detectChanges();\r\n });\r\n }\r\n\r\n @HostListener('window:popstate', ['$event'])\r\n onPopState(e: PopStateEvent) {\r\n if (this._parametreleriGoster) {\r\n this._parametreleriGoster = false;\r\n this.CD.detectChanges();\r\n return;\r\n }\r\n if (this.parametreSetiPaneliAcik) {\r\n this.parametreSetiPaneliAcik = false;\r\n this.CD.detectChanges();\r\n return;\r\n }\r\n }\r\n\r\n private dinamikParametreleriGuncelle() {\r\n const aktifIcerik = this.kart?.veri?.icerikler?.[this.aktifIcerikNo];\r\n if (aktifIcerik?.ek?.bilesen) {\r\n this.dinamikParametreler.set({ kart: this.kart, icerik: aktifIcerik, ek: aktifIcerik.ek });\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.duzenlemeModunda) {\r\n this.paylasimSpinUyariMetni = \"Güncelleniyor...\";\r\n } else if (!this.taslakDevreDisi) {\r\n this.taslakKontrolEt();\r\n }\r\n // Parametre setleri varsa paneli default açık başlat\r\n if (this.parametreSetleri?.length > 0) {\r\n this.parametreSetiPaneliAcik = true;\r\n }\r\n // Parametre seti zorunlu ise her içeriğe otomatik UYGULAMAICERIK eki ata\r\n if (this.parametreSetiZorunlu && this.parametreSetleri?.length > 0) {\r\n for (const icerik of (this.kart?.veri?.icerikler ?? [])) {\r\n if (!icerik.ek || icerik.ek.turu !== 'UYGULAMAICERIK') {\r\n icerik.ek = { turu: 'UYGULAMAICERIK', _id: '', parametreler: [] };\r\n }\r\n }\r\n }\r\n this.dinamikParametreleriGuncelle();\r\n }\r\n\r\n // --- Taslak Sistemi ---\r\n\r\n private get taslakAnahtar(): string {\r\n const kullaniciId = this.FikoYT?.kimlik?.aktifKullaniciJson()?._id ?? 'anonim';\r\n const kartTuru = this.kart?.turu ?? IKartTuru.KART;\r\n return `fikoyt_taslak_${kullaniciId}_${kartTuru}`;\r\n }\r\n\r\n taslakKontrolEt() {\r\n // Taslak uyarısı devre dışı\r\n }\r\n\r\n taslakYukle() {\r\n try {\r\n const kayitli = localStorage.getItem(this.taslakAnahtar);\r\n if (kayitli) {\r\n const taslak = JSON.parse(kayitli);\r\n if (taslak && this.kart) {\r\n this.kart.veri = taslak.veri ?? this.kart.veri;\r\n this.kart.gizlilik = taslak.gizlilik ?? this.kart.gizlilik;\r\n this.kart.etiketler = taslak.etiketler ?? this.kart.etiketler;\r\n this.kart.kisiler = taslak.kisiler ?? this.kart.kisiler;\r\n this.kart.parametreler = taslak.parametreler ?? this.kart.parametreler;\r\n if (taslak._sayfaSetMap) {\r\n this.sayfaSetMap.set(new Map(Object.entries(taslak._sayfaSetMap).map(([k, v]) => [Number(k), v as string])));\r\n }\r\n if (taslak._sayfaParametreMap) {\r\n this.sayfaParametreMap.set(new Map(\r\n Object.entries(taslak._sayfaParametreMap).map(([k, v]) => [Number(k), v as IParametre[]])\r\n ));\r\n }\r\n this.taslakMevcut = false;\r\n this.CD.detectChanges();\r\n }\r\n }\r\n } catch (e) { }\r\n }\r\n\r\n taslakReddet() {\r\n this.taslakTemizle();\r\n this.taslakMevcut = false;\r\n this.CD.detectChanges();\r\n }\r\n\r\n taslakKaydet() {\r\n if (this.taslakDevreDisi) return;\r\n if (this.taslakZamanlayici) {\r\n clearTimeout(this.taslakZamanlayici);\r\n }\r\n this.taslakZamanlayici = setTimeout(() => {\r\n try {\r\n if (!this.kart) return;\r\n const taslakVeri = {\r\n veri: this.kart.veri,\r\n gizlilik: this.kart.gizlilik,\r\n etiketler: this.kart.etiketler,\r\n kisiler: this.kart.kisiler,\r\n parametreler: this.kart.parametreler,\r\n tarih: new Date().toISOString(),\r\n _sayfaSetMap: Object.fromEntries(this.sayfaSetMap()),\r\n _sayfaParametreMap: Object.fromEntries(\r\n Array.from(this.sayfaParametreMap().entries()).map(([k, v]) => [k, JSON.parse(JSON.stringify(v))])\r\n ),\r\n };\r\n localStorage.setItem(this.taslakAnahtar, JSON.stringify(taslakVeri));\r\n } catch (e) { }\r\n }, 3000);\r\n }\r\n\r\n taslakTemizle() {\r\n try {\r\n localStorage.removeItem(this.taslakAnahtar);\r\n if (this.taslakZamanlayici) {\r\n clearTimeout(this.taslakZamanlayici);\r\n this.taslakZamanlayici = null;\r\n }\r\n } catch (e) { }\r\n }\r\n\r\n tiklandiSablondanOlustur() {\r\n let test = this.nzModalServis.create({\r\n nzContent: DialogSablonSeciciComponent,\r\n nzDraggable: true,\r\n nzFooter: null,\r\n nzClosable: false,\r\n nzMaskClosable: true,\r\n nzBodyStyle: { padding: '10px' },\r\n nzStyle: { padding: '0', 'max-width': '420px' },\r\n }).afterClose.subscribe((sablon) => {\r\n if (sablon?.parametreler) {\r\n // Şablon parametrelerini kopyala (değerler boş)\r\n const parametreler = sablon.parametreler.map((p: any) => ({\r\n ...JSON.parse(JSON.stringify(p)),\r\n degeri: null\r\n }));\r\n\r\n if (!this.kart.parametreler) this.kart.parametreler = [];\r\n this.kart.parametreler.push(...parametreler);\r\n this.kart.sablonId = sablon._id;\r\n this.parametreleriGoster = true;\r\n this.taslakKaydet();\r\n this.nzNotification.success('Şablon Yüklendi', `${sablon.veri?.sablonAdi || 'Şablon'} - ${parametreler.length} parametre eklendi`);\r\n }\r\n test.unsubscribe();\r\n this.CD.detectChanges();\r\n });\r\n }\r\n\r\n gizlilikDegisti($event: string) {\r\n this.taslakKaydet();\r\n this.CD.detectChanges();\r\n }\r\n\r\n\r\n tiklandiIcerikSil($event: any) {\r\n\r\n this.kart.veri.icerikler.splice(this.aktifIcerikNo, 1);\r\n if (this.aktifIcerikNo == 0) {\r\n this.aktifIcerikNo = 0;\r\n } else {\r\n this.aktifIcerikNo = this.aktifIcerikNo - 1;\r\n }\r\n this.taslakKaydet();\r\n this.CD.detectChanges();\r\n\r\n }\r\n\r\n tiklandiTumIcerikleriSil($event: any) {\r\n\r\n\r\n this.servisUyarProjeler.sifirla();\r\n // _this.FikoYT.paylas.kart.veri.icerikler = [];\r\n // // _this.FikoYT.paylas.icerikEkle();\r\n // if (_this.aktifIcerikNo == 0) {\r\n this.aktifIcerikNo = 0;\r\n\r\n this.taslakKaydet();\r\n this.CD.detectChanges();\r\n\r\n }\r\n\r\n tiklandiDialogGizlilik() {\r\n let test = this.nzModalServis.create({\r\n nzContent: DialogGizlilikSeciciComponent,\r\n nzDraggable: false,\r\n nzData: { gizlilik: this.kart.gizlilik, liste: this.kart.gizlilikListe },\r\n // nzTitle: '', // Boş string, null değil\r\n nzFooter: null, // Footer'ı kaldır\r\n nzClosable: false, // Sağ üst çarpı butonu görünmesin\r\n nzMaskClosable: false, // Maskeye tıklayınca kapanabilsin\r\n nzBodyStyle: { padding: '10px', }, // İç padding'i kaldır\r\n nzStyle: { padding: '0', 'max-width': '360px' }, // Dış padding'i de kaldır\r\n nzMaskStyle: { 'background-color': 'rgba(0, 0, 0, 0.3)' }\r\n }).afterClose.subscribe((data) => {\r\n if (data) {\r\n this.kart.gizlilik = data?.gizlilik;\r\n this.kart.gizlilikListe = data?.liste ?? [];\r\n this.gizlilikDegisti(data?.gizlilik);\r\n }\r\n test.unsubscribe();\r\n this.CD.detectChanges();\r\n });\r\n }\r\n\r\n tiklandiDialogKisiSecici() {\r\n let test = this.nzModalServis.create({\r\n nzContent: DialogKisiSeciciComponent,\r\n nzDraggable: true,\r\n nzData: { kisiler: this.kart.kisiler ?? [] },\r\n // nzTitle: '', // Boş string, null değil\r\n nzFooter: null, // Footer'ı kaldır\r\n nzClosable: false, // Sağ üst çarpı butonu görünmesin\r\n nzMaskClosable: false, // Maskeye tıklayınca kapanabilsin\r\n nzBodyStyle: { padding: '10px', }, // İç padding'i kaldır\r\n nzStyle: { padding: '0', 'max-width': '360px' }, // Dış padding'i de kaldır\r\n\r\n }).afterClose.subscribe((data) => {\r\n if (data) {\r\n this.kart.kisiler = data?.kisiler ?? this.kart.kisiler;\r\n }\r\n test.unsubscribe();\r\n this.taslakKaydet();\r\n this.CD.detectChanges();\r\n });\r\n }\r\n\r\n tiklandiDialogEtiketler() {\r\n let test = this.nzModalServis.create({\r\n nzContent: DialogEtiketlerComponent,\r\n nzDraggable: true,\r\n nzData: { etiketler: this.kart.etiketler ?? [] },\r\n // nzTitle: '', // Boş string, null değil\r\n nzFooter: null, // Footer'ı kaldır\r\n nzClosable: false, // Sağ üst çarpı butonu görünmesin\r\n nzMaskClosable: false, // Maskeye tıklayınca kapanabilsin\r\n nzBodyStyle: { padding: '10px', }, // İç padding'i kaldır\r\n nzStyle: { padding: '0', 'max-width': '360px' }, // Dış padding'i de kaldır\r\n }).afterClose.subscribe((data) => {\r\n if (data) {\r\n this.kart.etiketler = data\r\n }\r\n test.unsubscribe();\r\n this.taslakKaydet();\r\n this.CD.detectChanges();\r\n });\r\n }\r\n\r\n async tiklandiKonumSec() {\r\n const { HaritaYerSeciciComponent } = await import('@/src/app/uygulamalar/soyagaci/harita-yer-secici/harita-yer-secici.component');\r\n const sub = this.nzModalServis.create({\r\n nzTitle: 'Konum Seç',\r\n nzContent: HaritaYerSeciciComponent,\r\n nzWidth: 520,\r\n nzFooter: null,\r\n nzData: {\r\n mevcutYer: this.kart?.konum?.yerIsmi || '',\r\n mevcutKoordinat: this.kart?.konum?.koordinat || null,\r\n },\r\n }).afterClose.subscribe((sonuc: any) => {\r\n if (sonuc?.yerIsmi) {\r\n if (!this.kart.konum) this.kart.konum = {} as any;\r\n this.kart.konum.yerIsmi = sonuc.yerIsmi;\r\n this.kart.konum.koordinat = sonuc.koordinat;\r\n }\r\n sub.unsubscribe();\r\n this.taslakKaydet();\r\n this.CD.detectChanges();\r\n });\r\n }\r\n\r\n tiklandiBayrak() {\r\n let test = this.nzModalServis.create({\r\n nzContent: FikoYTBayrakEditor,\r\n nzDraggable: true,\r\n nzData: { bayrak: this.kart?.veri.solSimge },\r\n // nzTitle: '', // Boş string, null değil\r\n nzFooter: null, // Footer'ı kaldır\r\n nzClosable: false, // Sağ üst çarpı butonu görünmesin\r\n nzMaskClosable: false, // Maskeye tıklayınca kapanabilsin\r\n nzBodyStyle: { padding: '10px', }, // İç padding'i kaldır\r\n nzStyle: { padding: '0', 'max-width': '360px' }, // Dış padding'i de kaldır\r\n }).afterClose.subscribe((data) => {\r\n if (data?.bayrak) {\r\n this.kart.veri.solSimge = data?.bayrak;\r\n }\r\n this.CD.detectChanges();\r\n this.FikoYT.degisti.emit();\r\n this.taslakKaydet();\r\n test.unsubscribe();\r\n });\r\n }\r\n tiklandiMenu() {\r\n let test = this.nzModalServis.create({\r\n nzContent: PaylasKartMenuComponent,\r\n nzDraggable: true,\r\n nzFooter: null,\r\n nzClosable: false,\r\n nzMaskClosable: true,\r\n nzBodyStyle: { padding: '10px' },\r\n nzStyle: { padding: '0', 'max-width': '360px' },\r\n }).afterClose.subscribe((data) => {\r\n if (data?.aksiyon) {\r\n switch (data.aksiyon) {\r\n case 'kopyala':\r\n this.kartKopyala();\r\n break;\r\n case 'bayrak':\r\n this.tiklandiBayrak();\r\n break;\r\n case 'sifirla':\r\n this.sifirla();\r\n this.nzNotification.info('Sıfırlandı', 'Kart sıfırlandı', { nzPlacement: 'bottomRight' });\r\n break;\r\n case 'taslakKaydet':\r\n this.taslakKaydet();\r\n this.nzNotification.success('Kaydedildi', 'Taslak kaydedildi', { nzPlacement: 'bottomRight' });\r\n break;\r\n }\r\n }\r\n this.CD.detectChanges();\r\n this.FikoYT.degisti.emit();\r\n test.unsubscribe();\r\n });\r\n }\r\n\r\n onSetSecildi(olay: { setId: string; parametreler: IParametre[]; sayfaKurallari?: any; bilesen?: string; bilesenGorunum?: string }) {\r\n const icerik = this.kart?.veri?.icerikler?.[this.aktifIcerikNo];\r\n if (olay.bilesen && icerik) {\r\n if (!icerik.ek) icerik.ek = {};\r\n icerik.ek.bilesen = olay.bilesen;\r\n icerik.ek._secilenSetId = olay.setId;\r\n if (olay.bilesenGorunum) icerik.ek.bilesenGorunum = olay.bilesenGorunum;\r\n this.dinamikParametreleriGuncelle();\r\n this.parametreSetiPaneliAcik = false;\r\n this.taslakKaydet();\r\n this.CD.detectChanges();\r\n return;\r\n }\r\n this.sayfaSetMap.update(m => {\r\n const yeni = new Map(m);\r\n yeni.set(this.aktifIcerikNo, olay.setId);\r\n return yeni;\r\n });\r\n const setSablonu = this.setSablonBul(olay.setId);\r\n if (icerik?.ek && setSablonu) {\r\n icerik.ek.sablon = JSON.parse(JSON.stringify(setSablonu));\r\n }\r\n this.parametreSetiPaneliAcik = false;\r\n this.taslakKaydet();\r\n this.CD.detectChanges();\r\n }\r\n\r\n private setSablonBul(setId: string): any {\r\n for (const grup of (this.parametreSetleri ?? [])) {\r\n if (grup.id === setId && grup.sablon) return grup.sablon;\r\n for (const alt of (grup.altGruplar ?? [])) {\r\n if (alt.id === setId && alt.sablon) return alt.sablon;\r\n for (const altKart of (alt.altKartSablonlari ?? [])) {\r\n if (altKart.id === setId && (altKart as any).sablon) return (altKart as any).sablon;\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n onSetKaldirildi() {\r\n this.sayfaSetMap.update(m => {\r\n const yeni = new Map(m);\r\n yeni.delete(this.aktifIcerikNo);\r\n return yeni;\r\n });\r\n // Set kaldırıldı → paneli tekrar aç (mecburi seçim)\r\n if (this.parametreSetleri?.length > 0) {\r\n this.parametreSetiPaneliAcik = true;\r\n }\r\n this.taslakKaydet();\r\n this.CD.detectChanges();\r\n }\r\n\r\n onSetParametrelerDegisti(parametreler: IParametre[]) {\r\n // Parametreler icerik eki içinde, sadece taslak kaydet\r\n this.taslakKaydet();\r\n }\r\n\r\n\r\n icerikEkle(ek: any = null) {\r\n // Sayfa kuralları kontrolü\r\n const kurallar = this.aktifSayfaKurallari;\r\n if (kurallar?.yeniSayfaEngelle) return;\r\n if (kurallar?.maxSayfa && (this.kart?.veri?.icerikler?.length ?? 0) >= kurallar.maxSayfa) return;\r\n\r\n // Parametre seti zorunlu ise otomatik UYGULAMAICERIK eki ata\r\n if (!ek && this.parametreSetiZorunlu && this.parametreSetleri?.length > 0) {\r\n ek = { turu: 'UYGULAMAICERIK', _id: '', parametreler: [] };\r\n }\r\n this.kart?.veri?.icerikler?.push({ _id: this.FikoYT.fikoIdUret(), aciklama: '', html: '', ek: ek, sifre: null }) ?? 1 - 1;\r\n this.taslakKaydet();\r\n }\r\n\r\n sifirla() {\r\n this.kart = {\r\n _id: this.FikoYT.fikoIdUret(),\r\n vt: \"FikoYT.sistem.hareketler\",\r\n turu: IKartTuru.KART,\r\n gizlilik: \"Herkese Açık\",\r\n kisiler: [],\r\n veri: {\r\n solSimge: {\r\n aciklama: undefined,\r\n baslik: \"FikoYT\",\r\n renkArka: undefined,\r\n renkYazi: undefined,\r\n },\r\n kurdela: {\r\n aciklama: undefined,\r\n baslik: \"FikoYT\",\r\n renkArka: undefined,\r\n renkYazi: undefined,\r\n },\r\n icerikler: []\r\n }\r\n }\r\n this.sayfaSetMap.set(new Map());\r\n this.sayfaParametreMap.set(new Map());\r\n this.tasarimModu = false;\r\n this.aktifIcerikNo = 0;\r\n this.hatalar = [];\r\n this.uyarilar = [];\r\n this.icerikEkle();\r\n }\r\n\r\n aktifEtSonSayfa() {\r\n this.aktifIcerikNo = (this.kart?.veri?.icerikler?.length ?? 1) - 1;\r\n }\r\n\r\n override ngOnDestroy(): void {\r\n if (this.taslakZamanlayici) {\r\n clearTimeout(this.taslakZamanlayici);\r\n }\r\n super.ngOnDestroy();\r\n }\r\n\r\n /**\r\n * Kart verisinin derin kopyasını oluşturur.\r\n * structuredClone File/Blob ve SafeValue nesnelerini klonlayamaz,\r\n * bu yüzden dosya referanslarını ayırıp JSON kopyalama yapıyoruz.\r\n */\r\n private kartDerinKopya(kaynak: any): { kopyaKart: any, dosyaHaritasi: Map } {\r\n const dosyaHaritasi = new Map();\r\n\r\n // Dosya referanslarını topla ve geçici olarak kaldır\r\n const icerikler = kaynak?.veri?.icerikler ?? [];\r\n const geciciDosyalar: any[] = [];\r\n\r\n for (let i = 0; i < icerikler.length; i++) {\r\n const ek = icerikler[i]?.ek;\r\n if (ek) {\r\n geciciDosyalar[i] = {\r\n dosya: ek.dosya,\r\n dosyaObjectUrl: ek.dosyaObjectUrl,\r\n resim: ek.resim,\r\n resimObjectUrl: ek.resimObjectUrl,\r\n };\r\n // Dosya referanslarını geçici olarak null yap (JSON.stringify için)\r\n if (ek.dosya instanceof File || ek.dosya instanceof Blob) {\r\n dosyaHaritasi.set(ek._id, { dosya: ek.dosya, objectUrl: ek.dosyaObjectUrl });\r\n ek.dosya = null;\r\n ek.dosyaObjectUrl = null;\r\n } else if (ek.dosya) {\r\n // Önceki bir JSON.stringify turundan kalan Blob artığı: Blob JSON'da {} olur.\r\n // Gerçek File/Blob değilse (ör. {} sızıntısı) sunucuya {} olarak gitmesin —\r\n // yoksa mevcut dosya referansını üzerine yazıp 3D/model bağlantısını bozar.\r\n ek.dosya = null;\r\n }\r\n if (ek.resim instanceof File || ek.resim instanceof Blob) {\r\n dosyaHaritasi.set(ek._id + '_resim', { dosya: ek.resim, objectUrl: ek.resimObjectUrl });\r\n ek.resim = null;\r\n ek.resimObjectUrl = null;\r\n } else if (ek.resim) {\r\n // Aynı sızıntı: STP ekran görüntüsü (ek.resim) için de geçerli.\r\n ek.resim = null;\r\n }\r\n }\r\n }\r\n\r\n // JSON kopyala (güvenli - SafeValue/File yok)\r\n const kopyaKart = JSON.parse(JSON.stringify(kaynak));\r\n\r\n // Orijinal kartın dosya referanslarını geri yükle — SADECE gerçek File/Blob ise.\r\n // Leaked {} (önceki bir JSON turundan kalan Blob artığı) geri yüklenmez, kalıcı olarak\r\n // null'a çevrilir; aksi halde bu obje canlı kartta kalıp bir sonraki kayıtta tekrar sızar.\r\n for (let i = 0; i < icerikler.length; i++) {\r\n const ek = icerikler[i]?.ek;\r\n if (ek && geciciDosyalar[i]) {\r\n const gd = geciciDosyalar[i];\r\n ek.dosya = (gd.dosya instanceof File || gd.dosya instanceof Blob) ? gd.dosya : null;\r\n ek.dosyaObjectUrl = ek.dosya ? gd.dosyaObjectUrl : gd.dosyaObjectUrl;\r\n ek.resim = (gd.resim instanceof File || gd.resim instanceof Blob) ? gd.resim : null;\r\n ek.resimObjectUrl = ek.resim ? gd.resimObjectUrl : gd.resimObjectUrl;\r\n }\r\n }\r\n\r\n return { kopyaKart, dosyaHaritasi };\r\n }\r\n\r\n /** 📢 premium özellik lisansı (köprü yoksa AÇIK). */\r\n lisans(alt: string): boolean { try { return (window as any).__fikoLisans?.('📢', alt) ?? true; } catch { return true; } }\r\n\r\n /** Kartı kopyala / çoğalt - spread ile File/Blob/SafeValue referanslarını korur */\r\n kartKopyala() {\r\n if (!this.kart) return;\r\n if (!this.lisans('kart_klon')) { this.nzMessage?.warning('Kart klonlama özelliği lisansınızda yok.'); return; }\r\n\r\n // Spread ile sığ kopya: File, Blob, SafeValue referansları korunur\r\n const yeniIcerikler = (this.kart.veri?.icerikler ?? []).map(icerik => {\r\n const yeniIcerik: any = {\r\n ...icerik,\r\n _id: this.FikoYT.fikoIdUret(),\r\n };\r\n\r\n if (icerik.ek) {\r\n yeniIcerik.ek = {\r\n ...icerik.ek, // dosya, dosyaObjectUrl, resim, resimObjectUrl referansları korunur\r\n _id: this.FikoYT.fikoIdUret(),\r\n };\r\n // Parametreleri derin kopyala (serileştirilebilir veri)\r\n if (icerik.ek.parametreler) {\r\n try {\r\n yeniIcerik.ek.parametreler = JSON.parse(JSON.stringify(icerik.ek.parametreler));\r\n } catch { }\r\n }\r\n }\r\n\r\n return yeniIcerik;\r\n });\r\n\r\n this.kart._id = this.FikoYT.fikoIdUret();\r\n this.kart.veri = {\r\n ...this.kart.veri,\r\n solSimge: this.kart.veri.solSimge ? { ...this.kart.veri.solSimge } : undefined,\r\n kurdela: this.kart.veri.kurdela ? { ...this.kart.veri.kurdela } : undefined,\r\n icerikler: yeniIcerikler,\r\n };\r\n this.kart.etiketler = [...(this.kart.etiketler ?? [])];\r\n this.kart.kisiler = [...(this.kart.kisiler ?? [])];\r\n\r\n this.aktifIcerikNo = 0;\r\n this.taslakKaydet();\r\n this.nzNotification.success('Kopyalandı', 'Kart başarıyla kopyalandı', { nzPlacement: 'bottomRight' });\r\n this.CD.detectChanges();\r\n }\r\n\r\n async paylasTiklandi() {\r\n this.kart._id ??= this.FikoYT.fikoIdUret();\r\n\r\n const sonuc = { hatalar: [] as any[], uyarilar: [] as any[] };\r\n\r\n for (let i = 0; i < this.kart.veri?.icerikler?.length; i++) {\r\n const icerik = this.kart.veri.icerikler[i];\r\n const etiket = i == 0 ? \"ilk\" : i + 1 + \" nolu\";\r\n const ekParametreler = icerik?.ek?.parametreler ?? [];\r\n\r\n if (icerik.ek?.turu == \"UYARDOKUM\") {\r\n // UYARDOKUM: parametreleri kontrol et\r\n if (ekParametreler.length < 1) {\r\n sonuc.hatalar.push({ mesaj: `${etiket} içerikte işlenecek veri bulunamadı.` });\r\n } else {\r\n let parametreHatalar = await tumHatalariniAl(ekParametreler);\r\n for (let j = 0; j < parametreHatalar.hatalar.length; j++) {\r\n sonuc.hatalar.push({ mesaj: `${etiket} içerikte ${parametreHatalar.hatalar[j].hatalar.map(hata => hata.mesaj).join(\"\\n\")}` });\r\n }\r\n for (let k = 0; k < parametreHatalar.uyarilar.length; k++) {\r\n sonuc.uyarilar.push({ mesaj: `${etiket} içerikte ${parametreHatalar.uyarilar[k].uyarilar.map(uyari => uyari.mesaj).join(\"\\n\")}` });\r\n }\r\n }\r\n } else if (ekParametreler.length > 0) {\r\n // Parametreli içerik: parametrelerin validasyonunu çalıştır\r\n let parametreHatalar = await tumHatalariniAl(ekParametreler);\r\n for (let j = 0; j < parametreHatalar.hatalar.length; j++) {\r\n sonuc.hatalar.push({ mesaj: `${etiket} içerikte ${parametreHatalar.hatalar[j].hatalar.map(hata => hata.mesaj).join(\"\\n\")}` });\r\n }\r\n for (let k = 0; k < parametreHatalar.uyarilar.length; k++) {\r\n sonuc.uyarilar.push({ mesaj: `${etiket} içerikte ${parametreHatalar.uyarilar[k].uyarilar.map(uyari => uyari.mesaj).join(\"\\n\")}` });\r\n }\r\n } else {\r\n // Parametresiz normal içerik: html veya ek olmalı\r\n const ekGecerli = icerik.ek?.dosya != null || icerik.ek?.rid != null || icerik.ek?.bilesen != null || (this.duzenlemeModunda && icerik.ek?._id);\r\n if (icerik.html == \"\" && !ekGecerli) {\r\n sonuc.hatalar.push({ mesaj: `${etiket} içerikte geçersiz yada boş sayfalar var.` });\r\n }\r\n }\r\n }\r\n\r\n this.hatalar = sonuc.hatalar;\r\n this.uyarilar = sonuc.uyarilar;\r\n\r\n this.FikoYT.degisti.emit();\r\n this.CD.detectChanges();\r\n if (sonuc.hatalar.length > 0) {\r\n return;\r\n }\r\n\r\n // Çoklu-istek süresi boyunca sabit kalacak spinner flag'i — bkz. paylasimIsleniyor tanımı\r\n this.paylasimIsleniyor = true;\r\n this.CD.detectChanges();\r\n\r\n // Derin kopya: File/Blob ve SafeValue nesnelerini koruyarak kopyala\r\n const { kopyaKart: kart, dosyaHaritasi } = this.kartDerinKopya(this.kart);\r\n\r\n if (this.duzenlemeModunda) {\r\n kart.duzenlenmeTarihi = new Date();\r\n } else {\r\n kart.sahip = this.FikoYT.kimlik.aktifKullaniciJson()._id;\r\n kart.tarih = new Date();\r\n }\r\n\r\n // İçerikleri ayrı kopyala (JSON kopyası zaten yapıldı)\r\n const icerikler = JSON.parse(JSON.stringify(kart.veri.icerikler));\r\n\r\n let forFormData = { json: undefined, dosyalar: [] };\r\n\r\n for (let i = 0; i < kart.veri.icerikler.length; i++) {\r\n kart.veri.icerikler[i] = kart.veri.icerikler[i]._id;\r\n icerikler[i]._uid = kart._id;\r\n\r\n forFormData.dosyalar = [...forFormData.dosyalar, ...(parametreAyikla(icerikler?.[i]?.ek?.parametreler ?? []).dosyalar)];\r\n\r\n // Sablon resim dosyaları (File nesneleri JSON.stringify'da kaybolur)\r\n const sablonDosyalar = this.kart?.veri?.icerikler?.[i]?.ek?._sablonDosyalar;\r\n if (sablonDosyalar?.length) {\r\n for (const sd of sablonDosyalar) {\r\n forFormData.dosyalar = [...forFormData.dosyalar, {\r\n _id: 'sablon_' + sd.elementId,\r\n dosya: sd.dosya,\r\n objectUrl: sd.objectUrl,\r\n }];\r\n // Sablon elementindeki objectUrl'yi sunucu referansına çevir\r\n const sablon = icerikler[i]?.ek?.sablonOverride || icerikler[i]?.ek?.sablon;\r\n if (sablon?.elementler) {\r\n const el = sablon.elementler.find((e: any) => e.id === sd.elementId);\r\n if (el) el.resimUrl = 'sablon_' + sd.elementId;\r\n }\r\n }\r\n // _sablonDosyalar'ı JSON'dan temizle (File serialize edilemez)\r\n delete icerikler[i].ek._sablonDosyalar;\r\n }\r\n\r\n // Dosya referanslarını haritadan geri al\r\n const ekId = icerikler?.[i]?.ek?._id;\r\n if (ekId) {\r\n const dosyaRef = dosyaHaritasi.get(ekId);\r\n if (dosyaRef?.dosya) {\r\n forFormData.dosyalar = [...forFormData.dosyalar, {\r\n _id: ekId.toString(),\r\n dosya: dosyaRef.dosya,\r\n objectUrl: dosyaRef.objectUrl\r\n }];\r\n }\r\n const resimRef = dosyaHaritasi.get(ekId + '_resim');\r\n if (resimRef?.dosya) {\r\n forFormData.dosyalar = [...forFormData.dosyalar, {\r\n _id: (icerikler?.[i]?.ek?.resimid ?? ekId + '_resim').toString(),\r\n dosya: resimRef.dosya,\r\n objectUrl: resimRef.objectUrl\r\n }];\r\n }\r\n }\r\n }\r\n\r\n // Parametre seti seçimlerini karta ekle\r\n if (this.sayfaSetMap().size > 0) {\r\n kart.veri._parametreSetleri = Object.fromEntries(this.sayfaSetMap());\r\n }\r\n\r\n const formData = new FormData();\r\n formData.append(\"req_body\", JSON.stringify(kart));\r\n\r\n this.ekleIstek.parametreler = formData;\r\n\r\n let cevap: any = await this.ekleIstek.isteSync();\r\n\r\n if (cevap.cevap.sonuc) {\r\n const icerikSayisi = icerikler.length;\r\n // İlerleme çubuğunu sıfırla ve görünürlüğü hemen güncelle (OnPush)\r\n this.ilerleme = 0;\r\n this.CD.detectChanges();\r\n for (let i = 0; i < icerikler.length; i++) {\r\n this.aktifIcerikNo = i;\r\n const formData1 = new FormData();\r\n formData1.append(\"req_body\", JSON.stringify(icerikler[i]));\r\n\r\n for (const d of forFormData.dosyalar) {\r\n if (d.dosya) {\r\n formData1.append(d._id, d.dosya, d.dosya.name ?? 'dosya');\r\n }\r\n }\r\n\r\n this.ekleIstek.parametreler = formData1;\r\n\r\n // İlerleme çubuğunu içerik oranına göre kademeli ilerlet.\r\n // Yalnızca UploadProgress'a bağımlı olmak küçük/tek-kilobyte payload'larda\r\n // çubuğun ilerlememesine yol açıyordu; bu yüzden her içerik için taban\r\n // ilerlemeyi burada hesaplayıp çubuğu zorla ilerletiyoruz. Uploadprogress\r\n // yine gelirse onu takip etmek üzere max() kullanıyoruz.\r\n const ilerlemeOrani = icerikSayisi > 0 ? ((i + 1) / icerikSayisi) * 100 : 0;\r\n if (this.ilerleme === 0 || ilerlemeOrani > this.ilerleme) {\r\n this.ilerleme = Math.min(ilerlemeOrani, 100);\r\n }\r\n // ASYNC operasyondan sonra detectChanges() DOM'u güncellemez (OnPush),\r\n // bu yüzden bir sonraki makro görevde DOM güncellenmeli.\r\n this.CD.detectChanges();\r\n this.paylasimSpinUyariMetni = this.duzenlemeModunda\r\n ? `İçerik ${i + 1}/${icerikler.length} güncelleniyor`\r\n : `Kart ${i + 1}/${icerikler.length} paylaşılıyor`;\r\n cevap = await this.ekleIstek.isteSync();\r\n }\r\n\r\n // DB'ye id-liste gönderildikten sonra, canlı yayın & beslek için veri\r\n // yapısını hydrate edilmiş (tam IIcerik[]) hâle restore et. Aksi halde\r\n // kartYerineKoy / guncellemeYayin besleğe `veri.icerikler` = [id, id,...]\r\n // (string dizi) gönderir → icerikler bileşeni ek.obje okurken patlar,\r\n // STP/WRL tür tanısı (`ek.ismi.endsWith('.wrl')`) çalışmaz, resimid/3D\r\n // \"görünmez\" olur. `paylasYapildi.emit(kart)` da aynı objeyi alır.\r\n if (kart?.veri) kart.veri.icerikler = icerikler;\r\n kart.icerikler = icerikler;\r\n\r\n // 🚀 PERFORMANS: Bu kart bir alt kart ise (_uid'si var — durum güncelleme,\r\n // yorum vb.), üst kartın önbelleklenmiş özet alanlarını (_hesap.*, yorumSayisi)\r\n // arka planda yeniden hesaplat. Feed artık bunu canlı $lookup ile hesaplamıyor.\r\n // Kütük stokta sayım hareketi geldiyse, önce fark fire/giriş kaydı DB'ye yazılır.\r\n if ((kart as any)?._uid) {\r\n await this._kutukStokSayimFarkKaydet(kart, icerikler);\r\n this.altKartOzet.ozetGuncelle((kart as any)._uid);\r\n }\r\n\r\n if (this.duzenlemeModunda) {\r\n this.nzNotification.success(\"Başarılı\", `Kart Güncellendi`, { nzPlacement: 'bottomRight' });\r\n if (kart?._id && this.lisans('canli_yayin')) this.canliGuncelleme.guncellemeYayin(kart._id, { ...kart, veri: { ...kart.veri, icerikler } });\r\n if (kart?._id) this.kartBildirim.bildirimTetikle('kart_guncellendi', kart._id, kart.sahip, kart.veri?.kurdela?.baslik);\r\n this.mentionBildirimGonderInternal(kart, icerikler);\r\n this.paylasimYapildi.emit(kart);\r\n this.paylasimSpinUyariMetni = `Güncelleme Tamamlandı.`;\r\n this.paylasimIsleniyor = false;\r\n this.CD.detectChanges();\r\n } else {\r\n this.nzNotification.success(\"Başarılı\", `Kart Paylaşıldı`, { nzPlacement: 'bottomRight' });\r\n\r\n // Başarılı paylaşımda taslağı temizle\r\n this.taslakTemizle();\r\n\r\n // Konfeti efekti\r\n this.paylasimBasarili = true;\r\n this.CD.detectChanges();\r\n setTimeout(() => {\r\n this.paylasimBasarili = false;\r\n this.CD.detectChanges();\r\n }, 1800);\r\n\r\n setTimeout(() => {\r\n if (this.lisans('canli_yayin')) this.canliGuncelleme.yeniYayin({ ...kart, veri: { ...kart.veri, icerikler } });\r\n if (kart?._id) this.kartBildirim.bildirimTetikle('kart_olusturuldu', kart._id, kart.sahip, kart.veri?.kurdela?.baslik);\r\n this.mentionBildirimGonderInternal(kart, icerikler);\r\n this.paylasimYapildi.emit(kart);\r\n this.paylasimSpinUyariMetni = `Paylaşım Tamamlandı.`;\r\n this.paylasimIsleniyor = false;\r\n // İç durumu temizle (sayfaSetMap, hatalar vs.)\r\n this.sayfaSetMap.set(new Map());\r\n this.sayfaParametreMap.set(new Map());\r\n this.aktifIcerikNo = 0;\r\n this.hatalar = [];\r\n this.uyarilar = [];\r\n // Kart objesini sıfırla\r\n this.servisUyarProjeler.sifirla();\r\n this.CD.detectChanges();\r\n },)\r\n }\r\n }\r\n else {\r\n this.nzNotification.error(\"Hata\", `Kart Paylaşılamadı`, { nzPlacement: 'bottomRight' });\r\n this.paylasimIsleniyor = false;\r\n this.CD.detectChanges();\r\n }\r\n }\r\n/** Kütük stokta \"sayım\" hareketi kaydedildiğinde, birikmiş stok ile girilen sayım\r\n * arasındaki farkı ayrı bir fire/giriş alt-kartı olarak DB'ye yazar. Böylece kullanıcı\r\n * \"sayım: 10\" derse (önceki 50 idi), stok 10 kalır ve -40 yalnızca otomatik bir\r\n * \"kayıp\" fire kaydı olarak ayrı hareket görünür.\r\n * Not: Bu metod fark kaydını üst (kütük) karta yazar; sayımın kendisi düşülmez çünkü\r\n * kalanStok reduce'u artık sayımı etkisiz sayar (bkz. alt-kart-ozet / prepipe). */\r\n private async _kutukStokSayimFarkKaydet(kart: any, icerikler: any[]) {\r\n let parentId: string | null = null;\r\n try {\r\n parentId = (kart as any)?._uid;\r\n if (!parentId) return;\r\n const sayimIc = (icerikler || []).find((i: any) =>\r\n i?.ek?._secilenSetId === 'kutuk-stok.hareket' && this._ekDeger(i?.ek, 'tip') === 'sayim'\r\n );\r\n if (!sayimIc) return;\r\n const sayimMiktar = +(this._ekDeger(sayimIc.ek, 'miktar') || 0) || 0;\r\n\r\n // Üst kartın bu sayım öncesi birikmiş stoğunu aggregate ile çek\r\n const istek = new FikoYTIstekKok({ metod: 'POST', komut: 'FikoYT.sistem.DB.hareketler.aggregate' });\r\n istek.parametreler = { aggregate: [\r\n { $match: { _id: parentId } },\r\n { $lookup: { from: 'hareketler', let: { pid: '$_id' }, pipeline: [\r\n { $match: { $expr: { $eq: ['$_uid', '$$pid'] }, silindi: { $ne: true } } },\r\n { $lookup: { from: 'hareketler', localField: 'veri.icerikler', foreignField: '_id', as: 'ic' } },\r\n { $unwind: { path: '$ic', preserveNullAndEmptyArrays: false } },\r\n { $match: { 'ic.ek._secilenSetId': 'kutuk-stok.hareket' } },\r\n { $sort: { _id: 1 } },\r\n { $project: {\r\n _id: '$ic._id',\r\n tip: '$ic.ek.tip',\r\n miktar: { $toDouble: { $ifNull: ['$ic.ek.miktar', 0] } },\r\n } },\r\n ], as: '_alt' } },\r\n { $addFields: {\r\n kalan: {\r\n $reduce: {\r\n input: '$_alt', initialValue: 0,\r\n in: { $switch: { branches: [\r\n { case: { $eq: ['$$this.tip', 'giris'] }, then: { $add: ['$$value', '$$this.miktar'] } },\r\n { case: { $in: ['$$this.tip', ['cikis', 'fire']] }, then: { $subtract: ['$$value', '$$this.miktar'] } },\r\n { case: { $eq: ['$$this.tip', 'sayim'] }, then: '$$value' },\r\n ], default: '$$value' } } },\r\n },\r\n } },\r\n { $project: { _alt: 0 } },\r\n ] };\r\n const cevap: any = await istek.isteSync();\r\n const eskiStok = +(cevap?.cevap?.sonuc?.[0]?.kalan ?? 0);\r\n const fark = eskiStok - sayimMiktar;\r\n if (fark === 0) return;\r\n\r\n const farkTip = fark > 0 ? 'fire' : 'giris';\r\n const farkMiktar = Math.abs(fark);\r\n\r\n const sahip = this.FikoYT.kimlik.aktifKullaniciJson()?._id;\r\n const kartKimlik = this.FikoYT.fikoIdUret();\r\n const icerikKimlik = this.FikoYT.fikoIdUret();\r\n\r\n const farkKart: any = {\r\n _id: kartKimlik, vt: 'FikoYT.sistem.hareketler', yol: 'FikoYT.sistem.hareketler.kalem',\r\n turu: 'KART', gizlilik: 'Herkese Açık', _uid: parentId, sahip, tarih: new Date(),\r\n veri: { solSimge: { baslik: farkTip === 'fire' ? '🔥' : '⬆', renkArka: farkTip === 'fire' ? '#f59e0b' : '#22c55e', renkYazi: '#fff' }, icerikler: [icerikKimlik] },\r\n };\r\n const farkIcerik: any = {\r\n _id: icerikKimlik, _uid: kartKimlik, html: '', aciklama: '', sifre: null,\r\n ek: {\r\n turu: 'UYGULAMAICERIK', _secilenSetId: 'kutuk-stok.hareket', bilesen: 'kutuk-stok-hareket',\r\n parametreler: [\r\n { ismi: 'tip', degeri: farkTip },\r\n { ismi: 'miktar', degeri: farkMiktar },\r\n { ismi: 'aciklama', degeri: 'Sayım farkı (otomatik)' },\r\n ],\r\n tip: farkTip, miktar: farkMiktar, aciklama: 'Sayım farkı (otomatik)',\r\n },\r\n };\r\n\r\n const fdKart = new FormData();\r\n fdKart.append('req_body', JSON.stringify(farkKart));\r\n this.ekleIstek.parametreler = fdKart;\r\n await this.ekleIstek.isteSync();\r\n\r\n const fdIc = new FormData();\r\n fdIc.append('req_body', JSON.stringify(farkIcerik));\r\n this.ekleIstek.parametreler = fdIc;\r\n await this.ekleIstek.isteSync();\r\n } catch (e) {\r\n console.warn('[KutukStok] Sayım farkı kaydedilemedi:', parentId, e);\r\n }\r\n }\r\n\r\n /** ek objesinden parametre değerini okur: önce düz alan (aggregate ile aynı), sonra parametreler[] */\r\n private _ekDeger(ek: any, ismi: string): any {\r\n if (ek?.[ismi] != null && ek[ismi] !== '') return ek[ismi];\r\n return ek?.parametreler?.find((p: any) => p.ismi === ismi)?.degeri ?? '';\r\n }\r\n\r\n private mentionBildirimGonderInternal(kart: any, icerikler: any[]) {\r\n if (!kart?._id) return;\r\n if (!this.lisans('mention')) return; // mention bildirimi premium\r\n const htmller = icerikler\r\n .map((i: any) => i.html || '')\r\n .filter((h: string) => h.includes('data-user-id'));\r\n if (htmller.length > 0) {\r\n this.kartBildirim.mentionBildirimGonder(\r\n kart._id,\r\n kart.veri?.kurdela?.baslik || '',\r\n htmller,\r\n );\r\n }\r\n }\r\n}\r\n","\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, HostListener, Injector, Input, OnInit, ViewChild, WritableSignal, computed, effect, model, runInInjectionContext, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Router, RouterModule } from '@angular/router';\nimport { interval } from 'rxjs';\nimport { NzLayoutModule } from 'ng-zorro-antd/layout';\nimport { NzCardComponent } from 'ng-zorro-antd/card';\nimport { NzSpinComponent } from 'ng-zorro-antd/spin';\nimport { NzEmptyComponent } from 'ng-zorro-antd/empty';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzStatisticComponent } from 'ng-zorro-antd/statistic';\nimport { FikoYTKartComponent } from '../../../../fikoyt-kart/fikoyt-kart.component';\nimport { ParametrelerComponent } from '../../../../parametreler/parametreler.component';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { ServisUyarService } from '@/src/app/uygulamalar/uyar-dokum/servis-uyar.service';\nimport { IParametre } from '@/src/service/fikoyt-ui/interfaces/IParametre/IParametre';\nimport { FikoYTId } from '@/src/service/fikoyt-ui/helpers/FikoYTId';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport { NzButtonComponent } from 'ng-zorro-antd/button';\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { IKart, IKartTuru } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\nimport { NzPopconfirmComponent, NzPopconfirmModule, NzPopconfirmDirective } from 'ng-zorro-antd/popconfirm';\n\n\n@Component({\n selector: 'fikoyt-uyar-firma-ekle',\n templateUrl: './.component.html',\n styleUrls: ['./.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FormsModule,\n RouterModule,\n NzLayoutModule,\n NzGridModule,\n ParametrelerComponent,\n NzButtonComponent,\n NzWaveModule,\n NzIconModule,\n NzPopconfirmModule\n ]\n})\nexport class FirmaEkleComponent extends FikoYTKokBilesenComponent {\n @ViewChild('parametrelerBilesen') paramComponent!: ParametrelerComponent;\n @ViewChild('gonderButton', { read: ElementRef }) gonderButton?: ElementRef;\n /** */\n ekleIstek: FikoYTIstekKok;\n kontrolIstek: FikoYTIstekKok;\n\n\n rota? = model(\"ana-sayfa\");\n\n parametreler: IParametre[] = [\n {\n turu: \"Resim\",\n ismi: \"logo\",\n baslik: \"Firma Logosu\",\n altAciklama: \"Firmanın Logosunu Giriniz Yada Anımsatacak Bişiler.\\nselanar\",\n degeri: null,\n yerTutucu: \"Firma Logosu\",\n ayarlar: {},\n kontroller: [\n {\n fn: `\n let dgr = itm.degeri;\n /** BİLGİ: Eğer Türü String İse Ve Bişi Girilmemişse */\n if (dgr === '' || dgr === null) { \n itm.uyarilar.push({\n renk: \"blue\",\n mesaj: \"Logo Alanı Eklemeniz Firmaları Daha Kolay Ayırt Etmenizi Sağlar.\"\n }); \n }\n /** NOT: Tüm Testlerden Geçti */\n return true;\n `\n },\n ]\n }, \n {\n turu: \"Yazı\",\n ismi: \"ismi\",\n altAciklama: \"Firmanın İsmini Giriniz\",\n yerTutucu: \"Firma İsmi\",\n baslik: \"Firma İsmi\",\n degeri: null,\n ayarlar: {\n solSimge: \"🖋\",\n },\n kontroller: [\n {\n fn: `\n let dgr = itm.degeri;\n /** BİLGİ: Eğer Türü String İse Ve Bişi Girilmemişse */\n if (dgr === '' || dgr === null) { \n itm.hatalar.push({\n renk: \"red\",\n mesaj: \"Firma İsmi Gereklidir.\"\n }); \n }\n /** NOT: Tüm Testlerden Geçti */\n return true;\n `\n },\n ]\n }\n ,\n {\n turu: \"Yazı Alanı\",\n ismi: \"aciklama\",\n altAciklama: \"Açıklama Giriniz\",\n yerTutucu: \"Açıklama\",\n baslik: \"Açıklama\",\n degeri: null,\n\n ayarlar: {\n solSimge: \"🖋\",\n },\n kontroller: [\n ]\n },\n ];\n\n\n constructor(public servisUyar: ServisUyarService) {\n super();\n\n this.ekleIstek = new FikoYTIstekKok({\n metod: 'POST',\n komut: `FikoYT.sistem.DB.hareketler.ekle`,\n onEkOlsun: true,\n // parametreler: { id: 123 },\n depoModu: false,\n oncelik: 0,\n gecikmeliCevap: true,\n gecikmeliCevapSuresi: 500,\n\n }).onHata(({ self, hatalar }) => {\n this.nzNotification.error(\"Hatalar Var\", hatalar.map(hata => hata.mesaj).join(\"\\n\"), { nzPlacement: 'bottomRight' });\n }).onTamamlandi(({ self }) => {\n this.CD.detectChanges();\n });\n }\n\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n\n override async ngAfterViewInit() {\n super.ngAfterViewInit();\n\n\n }\n\n\n // async formuGonder() {\n\n\n // let kontrol = await this.paramComponent.tumHatalariniAl(this.paramComponent.parametreler)\n\n // if (kontrol.hatalar.length > 0) {\n // this.nzNotification.error(\"Hatalar Var\", kontrol.hatalar.map(parametreler => parametreler.hatalar.map(hata => hata.mesaj).join(\"\\n\")).join(\"\\n\"), { nzPlacement: 'bottomRight' });\n // return;\n // }\n // let json = this.paramComponent.toJson();\n // /** */\n // let istekKayitVarmi = new FikoYTIstekKok({\n // metod: 'POST',\n // komut: 'FikoYT.sistem.DB.hareketler.aggregate',\n // gecikmeliCevap: false,\n // })\n\n // istekKayitVarmi.parametreler = {\n // aggregate: [\n // {\n // $match: { \"veri.ismi\": json?.ismi, \"vt\": \"FikoYT.Uyar.firmalar\" },\n // },\n // ]\n // };\n // await istekKayitVarmi.isteSync();\n // if (istekKayitVarmi.cevap.sonuc) {\n // this.nzNotification.error(\"Hata\", `${json?.ismi} adlı firma Zaten Mevcut.`, { nzPlacement: 'bottomRight' });\n // this.paramComponent.parametreBul({ ismi: \"ismi\" }, { tamEslestir: false }).forEach(param => param.hatalar.push({ renk: \"red\", mesaj: `${json?.ismi} adlı firma Zaten Mevcut.` }));\n // this.CD.detectChanges();\n // return;\n // }\n\n // /** */\n // let dosyalar = this.paramComponent.dosyalar();\n\n // /** */\n // if (kontrol.uyarilar.length > 0) {\n // let uyarilar = kontrol.uyarilar.map(parametreler => parametreler.uyarilar.map(uyari => uyari.mesaj).join(\"\\n\")).join(\"\\n\");\n\n\n // this.nzModalServis.confirm({\n // nzTitle: 'Eminmisiniz?',\n // nzBodyStyle: { whiteSpace: 'pre-wrap', },\n // nzIconType: 'question-circle',\n // nzContent: `${uyarilar}\\nYukarıdaki Uyarılara Rağmen Devam Etmek İstiyormusunuz?`,\n // nzOnOk: async () => {\n // console.log(json);\n\n // let kalem: IKart = {\n // turu: IKartTuru.UYAR_DOKUM,\n // vt: \"FikoYT.Uyar.firmalar\",\n // yol: \"FikoYT.Uyar.firmalar.kalem\",\n // sahip: this.FikoYT.kimlik.aktifKullaniciJson()._id,\n // tarih: new Date(),\n // parametreler: this.paramComponent.parametreler,\n // uygulama: [\"Uyar Döküm\"],\n // veri: json,\n // }\n\n // const formData = new FormData();\n // formData.append(\"req_body\", JSON.stringify(kalem));\n // for (const d of dosyalar) {\n // formData.append(d.id, d.dosya, d.dosya.name);\n // }\n\n // this.ekleIstek.parametreler = formData;\n\n // let cevap: any = await this.ekleIstek.isteSync();\n\n // if (cevap.cevap.sonuc) {\n // this.nzNotification.success(\"Başarılı\", `${json?.ismi} adlı firmanın kaydı eklendi`, { nzPlacement: 'bottomRight' });\n // }\n // else {\n // this.nzNotification.error(\"Hata\", `${json?.ismi} adlı firma eklenemedi`, { nzPlacement: 'bottomRight' });\n // }\n // },\n // nzOnCancel: () => {\n\n // }\n\n // });\n\n // } else {\n // let kalem: IKart = {\n // turu: IKartTuru.UYAR_DOKUM,\n // vt: \"FikoYT.Uyar.firmalar\",\n // yol: \"FikoYT.Uyar.firmalar.kalem\",\n // sahip: this.FikoYT.kimlik.aktifKullaniciJson()._id,\n // tarih: new Date(),\n // parametreler: this.paramComponent.parametreler,\n // uygulama: [\"Uyar Döküm\"],\n // veri: json,\n // }\n\n\n // const formData = new FormData();\n // formData.append(\"req_body\", JSON.stringify(kalem));\n // for (const d of dosyalar) {\n // formData.append(d.id, d.dosya, d.dosya.name);\n // }\n\n // this.ekleIstek.parametreler = formData;\n\n // let cevap: any = await this.ekleIstek.isteSync();\n\n // if (cevap.cevap.sonuc) {\n // this.nzNotification.success(\"Başarılı\", `${json?.ismi} adlı firmanın kaydı güncellendi`, { nzPlacement: 'bottomRight' });\n // }\n // else {\n // this.nzNotification.error(\"Hata\", `${json?.ismi} adlı firma güncellenemedi`, { nzPlacement: 'bottomRight' });\n // }\n // }\n // }\n\n param(name: string) {\n return this.paramComponent.parametreler[name];\n }\n}\n","

\n \n
\n Firma Ekle\n
\n Sisteminize Yeni Bir Firma Ekleyebilirsiniz\n
\n
\n

\n\n\n
\n \n \n \n
","\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, Injector, Input, OnInit, ViewChild, WritableSignal, computed, effect, model, runInInjectionContext, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Router, RouterModule } from '@angular/router';\nimport { interval } from 'rxjs';\nimport { NzLayoutModule } from 'ng-zorro-antd/layout';\nimport { NzCardComponent } from 'ng-zorro-antd/card';\nimport { NzSpinComponent } from 'ng-zorro-antd/spin';\nimport { NzEmptyComponent } from 'ng-zorro-antd/empty';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzStatisticComponent } from 'ng-zorro-antd/statistic';\nimport { FikoYTKartComponent } from '../../../../fikoyt-kart/fikoyt-kart.component';\nimport { ParametrelerComponent } from '../../../../parametreler/parametreler.component';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { ServisUyarService } from '@/src/app/uygulamalar/uyar-dokum/servis-uyar.service';\nimport { IAcılırKutuParametre, IParametre, tumHatalariniAl } from '@/src/service/fikoyt-ui/interfaces/IParametre/IParametre';\nimport { FikoYTId } from '@/src/service/fikoyt-ui/helpers/FikoYTId';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport { NzButtonComponent } from 'ng-zorro-antd/button';\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { IKart, IKartTuru, IUyarVT, IUyarYollar, IVT, IYollar } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\n\n\n@Component({\n selector: 'fikoyt-uyar-teklif-olustur',\n templateUrl: './.component.html',\n styleUrls: ['./.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FormsModule,\n RouterModule,\n NzLayoutModule,\n NzGridModule,\n ParametrelerComponent,\n NzButtonComponent,\n NzWaveModule,\n NzIconModule\n ]\n})\nexport class TeklifOlusturComponent extends FikoYTKokBilesenComponent {\n @ViewChild('parametrelerBilesen') paramComponent!: ParametrelerComponent;\n /** */\n\n rota = model(\"ana-sayfa\");\n\n /** */\n ekleIstek: FikoYTIstekKok;\n\n teklifParametreler: IParametre[] = [\n {\n ismi: \"firma\",\n baslik: \"Firma\",\n altAciklama: \"Telifi Yapacağınız Firmayı seçiniz\",\n turu: \"Açılır Kutu\",\n yerTutucu: \"Firma\",\n ayarlar: {\n solSimge: \"🏭\",\n arama: true,\n silme: true,\n secenekItm: `return { value: scnk._id, label: scnk.parametreler?.[1]?.degeri }`,\n fapiAyarlar: {\n vt: \"FikoYT.Uyar.firmalar\",\n yol: \"FikoYT.Uyar.firmalar.kalem\",\n pipeFunc: `\n return [{\n $match: { parametreler: { $elemMatch: { ismi: \"ismi\", degeri: { $regex: deger ?? \"\", $options: \"i\" } } } },\n }]\n `\n },\n olaylar: {\n secimSilindi: `prm.yetkili=null;`,\n degisti: `prm.yetkili=null;`\n }\n },\n\n\n } as IAcılırKutuParametre,\n {\n ismi: \"yetkili\",\n baslik: \"Teklif Yapılan Yetkili\",\n altAciklama: \"Telifi Yapacağınız Firma Yetkilisini seçiniz\",\n turu: \"Açılır Kutu\",\n yerTutucu: \"Firma Yetklisi\",\n ayarlar: {\n solSimge: \"👷‍♀️\", silme: true, arama: true,\n secenekItm: `\n let parametreler = new Proxy({}, {\n get(_, prop: string) {\n return scnk.parametreler?.find(p => p.ismi === prop)?.degeri ?? null;\n }\n });\n\n return { value: scnk._id, label: (parametreler.ismi ?? '') + ' ' + (parametreler.soyismi ?? '') }`,\n fapiAyarlar: {\n vt: \"FikoYT.Uyar.firmalar.personeller\" as IUyarVT,\n yol: \"FikoYT.Uyar.firmalar.personeller.kalem\" as IUyarYollar,\n pipeFunc: `\n return [\n {\n \"$match\": {\n \"parametreler\": {\n \"$elemMatch\": {\n \"ismi\": \"firma\",\n \"degeri\": prm.firma ?? \"aaa\"\n }\n }\n }\n },\n {\n \"$addFields\": {\n \"tamAd\": {\n \"$concat\": [\n {\n \"$arrayElemAt\": [\n {\n \"$map\": {\n \"input\": {\n \"$filter\": {\n \"input\": \"$parametreler\",\n \"as\": \"p\",\n \"cond\": {\n \"$eq\": [\n \"$$p.ismi\",\n \"ismi\"\n ]\n }\n }\n },\n \"as\": \"p\",\n \"in\": \"$$p.degeri\"\n }\n },\n 0\n ]\n },\n \" \",\n {\n \"$arrayElemAt\": [\n {\n \"$map\": {\n \"input\": {\n \"$filter\": {\n \"input\": \"$parametreler\",\n \"as\": \"p\",\n \"cond\": {\n \"$eq\": [\n \"$$p.ismi\",\n \"soyismi\"\n ]\n }\n }\n },\n \"as\": \"p\",\n \"in\": \"$$p.degeri\"\n }\n },\n 0\n ]\n }\n ]\n }\n }\n },\n {\n \"$match\": {\n \"$or\": [\n {\n \"parametreler\": {\n \"$elemMatch\": {\n \"ismi\": \"ismi\",\n \"degeri\": {\n \"$regex\":\n deger ??\n \"\",\n \"$options\": \"i\"\n }\n }\n }\n },\n {\n \"parametreler\": {\n \"$elemMatch\": {\n \"ismi\": \"soyismi\",\n \"degeri\": {\n \"$regex\":\n deger ??\n \"\",\n \"$options\": \"i\"\n }\n }\n }\n },\n {\n \"tamAd\": {\n \"$regex\":\n deger ??\n \"\",\n \"$options\": \"i\"\n }\n }\n ]\n }\n }\n ]\n `\n }\n }\n } as IAcılırKutuParametre,\n\n {\n ismi: \"eposta_referans\",\n baslik: \"E-Posta Referansı\",\n altAciklama: \"Telifi aldığınız mailin referansını seçiniz\",\n turu: \"Açılır Kutu\",\n yerTutucu: \"E-Posta Referansı\",\n ayarlar: {\n solSimge: \"📨\"\n }\n },\n\n {\n baslik: \"Geçerlilik Tarihi\",\n ismi: \"gecerlilikTarihi\",\n altAciklama: \"Telifin geçerlilik tarihini seçiniz\",\n turu: \"Tarih Saat\",\n yerTutucu: \"Geçerlilik Tarihi\",\n ayarlar: {\n solSimge: \"📅\",\n format: \"dd.MM.yyyy hh:mm:ss 'Hft.'w\"\n }\n },\n\n {\n turu: \"Yazı Alanı\",\n ismi: \"aciklama\",\n altAciklama: \"Açıklama Giriniz\",\n yerTutucu: \"Açıklama\",\n baslik: \"Açıklama\",\n degeri: null,\n\n ayarlar: {\n solSimge: \"🖋\",\n },\n kontroller: [\n ],\n // uyarilar: [\n // {\n // renk: \"teal\", mesaj:\"Teklifle ilgili detayları yazmanız daha sonra hatırlamanıza yardımcı olacak.\"}\n // ]\n },\n ];\n\n\n constructor(public servisUyar: ServisUyarService) {\n super();\n\n this.ekleIstek = new FikoYTIstekKok({\n metod: 'POST',\n komut: `FikoYT.sistem.DB.hareketler.ekle`,\n onEkOlsun: true,\n // parametreler: { id: 123 },\n depoModu: false,\n oncelik: 0,\n gecikmeliCevap: true,\n gecikmeliCevapSuresi: 500,\n\n }).onHata(({ self, hatalar }) => {\n this.nzNotification.error(\"Hatalar Var\", hatalar.map(hata => hata.mesaj).join(\"\\n\"));\n }).onTamamlandi(({ self }) => {\n this.CD.detectChanges();\n });\n }\n\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n\n override async ngAfterViewInit() {\n super.ngAfterViewInit();\n\n\n }\n\n\n\n async formuGonder() {\n\n\n return;\n let kalem: IKart = {\n turu: IKartTuru.UYAR_DOKUM,\n vt: \"FikoYT.sistem.hareketler\",\n yol: \"FikoYT.sistem.hareketler.kalem\",\n sahip: this.FikoYT.kimlik.aktifKullaniciJson()._id,\n tarih: new Date(),\n parametreler: this.paramComponent.parametreler,\n uygulama: [\"Uyar Döküm\"],\n veri: this.paramComponent.toJson(),\n }\n\n this.ekleIstek.parametreler = kalem;\n\n let cevap: any = await this.ekleIstek.isteSync();\n\n if (cevap.cevap.sonuc) {\n this.CD.detectChanges();\n this.nzNotification.success(\"Başarılı\", `${this.paramComponent.toJson()?.ismi} adlı firmanın kaydı güncellendi`);\n }\n else {\n this.nzNotification.error(\"Hata\", `${this.paramComponent.toJson()?.ismi} adlı firma güncellenemedi`);\n }\n }\n}\n","

\n \n
\n Teklif Ekle\n
\n Bir Firmaya Teklifte Bulunun\n
\n
\n

\n\n\n
\n \n \n \n
","\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, Injector, Input, OnInit, ViewChild, WritableSignal, computed, effect, model, runInInjectionContext, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { Router, RouterModule } from '@angular/router';\nimport { interval } from 'rxjs';\nimport { NzLayoutModule } from 'ng-zorro-antd/layout';\nimport { NzCardComponent } from 'ng-zorro-antd/card';\nimport { NzSpinComponent } from 'ng-zorro-antd/spin';\nimport { NzEmptyComponent } from 'ng-zorro-antd/empty';\nimport { NzGridModule } from 'ng-zorro-antd/grid';\nimport { NzStatisticComponent } from 'ng-zorro-antd/statistic';\nimport { FikoYTKartComponent } from '../../../../fikoyt-kart/fikoyt-kart.component';\nimport { ParametrelerComponent } from '../../../../parametreler/parametreler.component';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { ServisUyarService } from '@/src/app/uygulamalar/uyar-dokum/servis-uyar.service';\nimport { IAcılırKutuParametre, IParametre } from '@/src/service/fikoyt-ui/interfaces/IParametre/IParametre';\nimport { FikoYTId } from '@/src/service/fikoyt-ui/helpers/FikoYTId';\nimport { FikoYTIstekKok } from '@/src/service/modules/fikoyt-istek-kok/fikoyt.istek.makinesi.service';\nimport { NzButtonComponent } from 'ng-zorro-antd/button';\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { IKart, IKartTuru } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\n\n\n@Component({\n selector: 'fikoyt-uyar-personel-ekle',\n templateUrl: './.component.html',\n styleUrls: ['./.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n FormsModule,\n RouterModule,\n NzLayoutModule,\n NzGridModule,\n ParametrelerComponent,\n NzButtonComponent,\n NzWaveModule,\n NzIconModule\n ]\n})\nexport class UyarPersonelEkeComponent extends FikoYTKokBilesenComponent {\n @ViewChild('parametrelerBilesen') paramComponent!: ParametrelerComponent;\n /** */\n\n rota = model(\"ana-sayfa\");\n\n /** */\n ekleIstek: FikoYTIstekKok;\n\n\n teklifParametreler: IParametre[] = [\n {\n turu: \"Resim\",\n ismi: \"resim\",\n baslik: \"Personel Resmi\",\n altAciklama: \"Personelin Resmini Seçiniz.\",\n degeri: null,\n yerTutucu: \"Personel Resmi\",\n ayarlar: {},\n },\n\n {\n baslik: \"Firma\",\n ismi: \"firma\",\n altAciklama: \"Personelin Çalıştığı Firmayı Seçiniz.\",\n turu: \"Açılır Kutu\",\n yerTutucu: \"Firma\",\n ayarlar: {\n solSimge: \"🏭\",\n arama: true,\n silme: true,\n secenekItm: `return { value: scnk._id, label: scnk.parametreler?.[1]?.degeri }`,\n fapiAyarlar: {\n vt: \"FikoYT.Uyar.firmalar\",\n yol: \"FikoYT.Uyar.firmalar.kalem\",\n pipeFunc: `\n return [{\n $match: { \"parametreler.1.degeri\": { $regex: deger, $options: \"i\" } }\n }]\n `\n }\n }\n } as IAcılırKutuParametre,\n\n {\n turu: \"Yazı\",\n ismi: \"ismi\",\n altAciklama: \"Firmanın İsmini Seçiniz\",\n yerTutucu: \"Personel İsmi\",\n baslik: \"Personel İsmi\",\n degeri: null,\n ayarlar: {\n solSimge: \"🖋\",\n },\n kontroller: [\n {\n fn: `\n let dgr = itm.degeri;\n /** BİLGİ: Eğer Türü String İse Ve Bişi Girilmemişse */\n if (dgr === '' || dgr === null) { \n itm.hatalar.push({\n renk: \"red\",\n mesaj: \"Personel İsmi Gereklidir.\"\n }); \n }\n /** NOT: Tüm Testlerden Geçti */\n return true;\n `\n },\n ]\n },\n\n {\n turu: \"Yazı\",\n ismi: \"soyismi\",\n altAciklama: \"Personelin Soy İsmini Giriniz\",\n yerTutucu: \"Personel Soy İsmi\",\n baslik: \"Personel Soy İsmi\",\n degeri: null,\n ayarlar: {\n solSimge: \"🖋\",\n },\n kontroller: [\n {\n fn: `\n let dgr = itm.degeri;\n /** BİLGİ: Eğer Türü String İse Ve Bişi Girilmemişse */\n if (dgr === '' || dgr === null) { \n itm.uyarilar.push({\n renk: \"blue\",\n mesaj: \"Personelin Soy İsmini Girmeniz Daha Kolay Ayırt Etmenizi Sağlar.\"\n });\n }\n /** NOT: Tüm Testlerden Geçti */\n return true;\n `\n },\n ]\n },\n\n {\n turu: \"Yazı\",\n ismi: \"mobil-tel\",\n altAciklama: \"Personelin Mobil Telefonunu Giriniz\",\n yerTutucu: \"Personel Mobil Telefonu\",\n baslik: \"Personel Mobil Telefonu\",\n degeri: null,\n ayarlar: {\n solSimge: \"📱\",\n },\n kontroller: [\n {\n fn: `\n let dgr = itm.degeri;\n /** BİLGİ: Eğer Türü String İse Ve Bişi Girilmemişse */\n if (dgr === '' || dgr === null) { \n itm.uyarilar.push({\n renk: \"blue\",\n mesaj: \"Personelin Mobil Telefonunu Girmeniz, Sisteminizi Kullananların Daha Kolay İletişim Kurmasını Sağlar.\"\n });\n }\n /** NOT: Tüm Testlerden Geçti */\n return true;\n `\n },\n ]\n },\n\n {\n turu: \"Yazı Alanı\",\n ismi: \"aciklama\",\n altAciklama: \"Açıklama Giriniz\",\n yerTutucu: \"Açıklama\",\n baslik: \"Açıklama\",\n degeri: null,\n\n ayarlar: {\n solSimge: \"💭\",\n },\n kontroller: [\n ],\n uyarilar: [\n {\n renk: \"orange\", mesaj: \"Açıklamalar yapay zekanın bu kişiyi tanımasına ve gerektiğinde size önermesinde oldukça yardımcı olmaktadır.\"\n }\n ]\n },\n ];\n\n\n constructor(public servisUyar: ServisUyarService) {\n super();\n\n this.ekleIstek = new FikoYTIstekKok({\n metod: 'POST',\n komut: `FikoYT.sistem.DB.hareketler.ekle`,\n onEkOlsun: true,\n // parametreler: { id: 123 },\n depoModu: false,\n oncelik: 0,\n gecikmeliCevap: true,\n gecikmeliCevapSuresi: 500,\n\n }).onHata(({ self, hatalar }) => {\n this.nzNotification.error(\"Hatalar Var\", hatalar.map(hata => hata.mesaj).join(\"\\n\"));\n }).onTamamlandi(({ self }) => {\n this.CD.detectChanges();\n });\n }\n\n\n override ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n\n override async ngAfterViewInit() {\n super.ngAfterViewInit();\n\n\n }\n\n\n // async formuGonder() {\n\n // let kontrol = await this.paramComponent.tumHatalariniAl(this.paramComponent.parametreler)\n\n // if (kontrol.hatalar.length > 0) {\n // this.nzNotification.error(\"Hatalar Var\", kontrol.hatalar.map(parametreler => parametreler.hatalar.map(hata => hata.mesaj).join(\"\\n\")).join(\"\\n\"), { nzPlacement: 'bottomRight' });\n // return;\n // }\n // let json = this.paramComponent.toJson();\n // /** */\n\n // // console.log(kalem, await this.paramComponent.tumHatalariniAl(this.paramComponent.parametreler));\n // // this.CD.detectChanges();\n // // return;\n\n // /** */\n // let dosyalar = this.paramComponent.dosyalar();\n // /** */\n // if (kontrol.uyarilar.length > 0) {\n // let uyarilar = kontrol.uyarilar.map(parametreler => parametreler.uyarilar.map(uyari => uyari.mesaj).join(\"\\n\")).join(\"\\n\");\n\n\n // this.nzModalServis.confirm({\n // nzTitle: 'Eminmisiniz?',\n // nzBodyStyle: { whiteSpace: 'pre-wrap', },\n // nzIconType: 'question-circle',\n // nzContent: `${uyarilar}\\nYukarıdaki Uyarılara Rağmen Devam Etmek İstiyormusunuz?`,\n // nzOnOk: async () => {\n // console.log(json);\n\n // let kalem: IKart = {\n // turu: IKartTuru.UYAR_DOKUM,\n // vt: \"FikoYT.Uyar.firmalar.personeller\",\n // yol: \"FikoYT.Uyar.firmalar.personeller.kalem\",\n // sahip: this.FikoYT.kimlik.aktifKullaniciJson()._id,\n // tarih: new Date(),\n // parametreler: this.paramComponent.parametreler,\n // uygulama: [\"Uyar Döküm\"],\n // veri: json,\n // }\n\n // const formData = new FormData();\n // formData.append(\"req_body\", JSON.stringify(kalem));\n // for (const d of dosyalar) {\n // formData.append(d.id, d.dosya, d.dosya.name);\n // }\n\n // this.ekleIstek.parametreler = formData;\n\n // let cevap: any = await this.ekleIstek.isteSync();\n\n // if (cevap.cevap.sonuc) {\n // this.nzNotification.success(\"Başarılı\", `${json?.ismi} adlı personelin kaydı eklendi`, { nzPlacement: 'bottomRight' });\n // }\n // else {\n // this.nzNotification.error(\"Hata\", `${json?.ismi} adlı personel eklenemedi`, { nzPlacement: 'bottomRight' });\n // }\n // },\n // nzOnCancel: () => {\n\n // }\n\n // });\n\n // } else {\n\n // let kalem: IKart = {\n // turu: IKartTuru.UYAR_DOKUM,\n // vt: \"FikoYT.Uyar.firmalar.personeller\",\n // yol: \"FikoYT.Uyar.firmalar.personeller.kalem\",\n // sahip: this.FikoYT.kimlik.aktifKullaniciJson()._id,\n // tarih: new Date(),\n // parametreler: this.paramComponent.parametreler,\n // uygulama: [\"Uyar Döküm\"],\n // veri: json,\n // }\n\n\n\n // const formData = new FormData();\n // formData.append(\"req_body\", JSON.stringify(kalem));\n // for (const d of dosyalar) {\n // formData.append(d.id, d.dosya, d.dosya.name);\n // }\n\n // this.ekleIstek.parametreler = formData;\n\n // let cevap: any = await this.ekleIstek.isteSync();\n\n // if (cevap.cevap.sonuc) {\n // this.nzNotification.success(\"Başarılı\", `${json?.ismi} adlı personelin kaydı güncellendi`, { nzPlacement: 'bottomRight' });\n // }\n // else {\n // this.nzNotification.error(\"Hata\", `${json?.ismi} adlı personel güncellenemedi`, { nzPlacement: 'bottomRight' });\n // }\n // }\n // /** */\n // }\n}\n","

\n \n
\n Personel Ekle\n
\n Bir Firmaya Personel Ekleyin\n
\n
\n

\n\n\n
\n \n \n \n
","
\n
\n @switch (rota()) {\n @case (\"ana-sayfa\") {\n
\n
\n \n
\n
\n
\n \n \n \n \n \n \n
\n }\n @case (\"firma\") {\n
\n \n \n
\n }\n\n @case (\"teklif\") {\n
\n \n \n
\n }\n @case (\"personel\") {\n
\n \n \n
\n }\n\n @case (\"siparis\") {\n
\n
\n \n
\n
Sipariş Oluştur
\n
\n }\n\n @case (\"hareket\") {\n
\n
\n \n
\n
Hareket Oluştur
\n
\n }\n @case (\"fiko-zek\") {\n
\n
\n \n
\n\n\n
\n }\n }\n\n @if (rota()!=\"ana-sayfa\") {\n \n }\n
\n
","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Inject, Injector, Input, model, OnDestroy, signal, ViewChild } from '@angular/core';\nimport { CommonModule, DOCUMENT } from '@angular/common';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { FormsModule } from '@angular/forms';\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\nimport { IKart, IKartTuru, TurGizlilik, TurGizlilikBilgi } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\nimport { ServisUyarProjeler } from '@/src/app/uygulamalar/uyar-dokum/projeler/projeler.service';\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\nimport { NzButtonModule } from 'ng-zorro-antd/button';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { DialogGizlilikSeciciComponent } from '../../dialog-gizlilik-secici/dialog-gizlilik-secici.component';\nimport { DialogEtiketlerComponent } from '../../dialog-etiketler/dialog-etiketler.component';\nimport { DialogKisiSeciciComponent } from '../../dialog-kisi-secici/dialog-kisi-secici.component';\nimport { ServisUyarService } from '@/src/app/uygulamalar/uyar-dokum/servis-uyar.service';\nimport { RouterModule } from '@angular/router';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { IParametre } from '@/src/service/fikoyt-ui/interfaces/IParametre/IParametre';\nimport { FikoYTId } from '@/src/service/fikoyt-ui/helpers/FikoYTId';\nimport { ParametrelerComponent } from '@/src/service/fikoyt-ui/src/lib/parametreler/parametreler.component';\nimport { FirmaEkleComponent } from './firma-ekle/.component';\nimport { TeklifOlusturComponent } from './teklif-olustur/.component';\nimport { UyarPersonelEkeComponent } from './personel-ekle/.component';\n\ndeclare var $: any;\n\n@Component({\n selector: 'paylas-uyar-kutusu',\n templateUrl: './uyar-kutusu.component.html',\n styleUrls: ['./uyar-kutusu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n NzPopconfirmModule,\n NzWaveModule,\n NzButtonModule,\n NzInputModule,\n RouterModule,\n FirmaEkleComponent,\n TeklifOlusturComponent,\n UyarPersonelEkeComponent\n ],\n\n})\nexport class IUyarKartComponent extends FikoYTKokBilesenComponent implements OnDestroy {\n @Input() kart: IKart | undefined;\n\n\n /** */\n rota = model(\"ana-sayfa\");\n\n\n constructor(public servisUyarProjeler: ServisUyarProjeler, public servisUyar: ServisUyarService) {\n super();\n // setTimeout(() => {\n // this.CD.detach();\n // })\n\n this.subsList.push(this.FikoYT.degisti.subscribe(() => {\n this.CD.detectChanges();\n }));\n }\n\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n }\n\n}\n","@if (kart?.turu === \"KART\") {\r\n\r\n} @else if (kart?.turu === \"UYAR_DOKUM\") {\r\n\r\n} @else {\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
Burada Yetkili olduğunuz kartların ekleme ve paylaşımını yapabilirsiniz
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Inject, Injector, Input, OnDestroy, Output } from '@angular/core';\r\nimport { CommonModule, DOCUMENT } from '@angular/common';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { IKartComponent } from './IKart/ikart-kutusu.component';\r\nimport { IUyarKartComponent } from './IUyarDokum/uyar-kutusu.component';\r\nimport { FikoYTKokBilesenComponent } from '@/src/service/kok-bilesen/kok-bilesen.component';\r\nimport { IKart, IKartTuru, TurGizlilik, TurGizlilikBilgi } from '@/src/service/fikoyt-ui/interfaces/IKart.interface';\r\nimport { IParametreSetiGrubu } from '@/src/service/fikoyt-ui/interfaces/IParametreSeti.interface';\r\nimport { ServisUyarProjeler } from '@/src/app/uygulamalar/uyar-dokum/projeler/projeler.service';\r\nimport { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';\r\nimport { NzWaveModule } from 'ng-zorro-antd/core/wave';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'fikoyt-paylas-kutusu',\r\n templateUrl: './paylas-kutusu.component.html',\r\n styleUrls: ['./paylas-kutusu.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NzPopconfirmModule,\r\n NzWaveModule,\r\n NzButtonModule,\r\n NzInputModule,\r\n IKartComponent,\r\n IUyarKartComponent,\r\n ]\r\n})\r\nexport class PaylasKutusuComponent extends FikoYTKokBilesenComponent implements OnDestroy {\r\n @Input() kart: IKart | undefined;\r\n @Input() parametreSetleri: IParametreSetiGrubu[] = [];\r\n @Input() parametreSetiZorunlu = false;\r\n @Input() taslakDevreDisi = false;\r\n /** */\r\n simgeButonGizlilik: string = \"fa fa-globe-europe\";\r\n /** */\r\n @Output() paylasimYapildi: EventEmitter = new EventEmitter();\r\n\r\n constructor(public servisUyarProjeler: ServisUyarProjeler) {\r\n super();\r\n }\r\n}\r\n"],"names":["_c0","i2","i3","i1","IUyarKartComponent_Case_3_Template","IUyarKartComponent","_forTrack0","_forTrack1","WidgetAvatarComponent","FikoYTKokBilesenComponent","i7","i8","i4","i5","i6","_forTrack2","i10","i11","i12","i13","_c1","i9","i14","ParametrelerComponent","FikoYTIstekKok"],"mappings":"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"}