@appaflytech/zeyrek-ai-mcp 0.0.14 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -29,6 +29,14 @@ component_get → tek tipin TAM sözleşmesi, üç katman birleşik:
|
|
|
29
29
|
- **Boyut:** `blocks[].size` katalogdaki `maxSize`'ı aşamaz; yükseklikte
|
|
30
30
|
`appearance.heightType: 'auto'` tercih edilir. Katalog varsayılanı bazı tiplerde kendi
|
|
31
31
|
sınırını aşar — körü körüne kopyalama, gateway kırpar ve bildirir.
|
|
32
|
+
- **Çocuk tarafı flex sözleşmesi — `mode: 'flex'` (2026-09-18):** flex kapta kalan alanı alan
|
|
33
|
+
öğe komponent değil onu taşıyan düğüm sarmalayıcısıdır ve sarmalayıcının `flex`i ortak
|
|
34
|
+
katmanda yazılır. `mode` prop'u `'flex'` olan bir çocuk (bugün yalnız `spacer`) kabın ANA
|
|
35
|
+
ekseninde kalanı ister: sütunda kalan yükseklik, satırda kalan genişlik, sıfır taban (wrap
|
|
36
|
+
açıkken satırdan düşmez). `appearance.widthType`/`heightType`'tan bağımsızdır ve ana
|
|
37
|
+
eksende onları yener; kabın ölçüsü o eksende belirli olmalıdır (auto/hug sütunda kalan
|
|
38
|
+
alan yoktur). Komponentin kendi `style`'ından istenemez — `style`'a `flex` yazma tablosuna
|
|
39
|
+
bkz. aşağıda.
|
|
32
40
|
|
|
33
41
|
### Arayüz metni ve biçimler uygulama dilini izler
|
|
34
42
|
|
|
@@ -93,8 +93,9 @@ mümkündür ama doğrulama duvarı ve canlı canvas yalnız `page_schema_patch`
|
|
|
93
93
|
komponentin iç kimliğidir (aşağıda Kural 2, `FLOW-018`).
|
|
94
94
|
|
|
95
95
|
- **`blocks[].size`'ı komponentin `component_get`'teki `minSize`..`maxSize` aralığında tut.** Dikkat:
|
|
96
|
-
katalog varsayılanı aşabiliyor (`
|
|
97
|
-
|
|
96
|
+
katalog varsayılanı aşabiliyor (`datepicker` default `h:8`, `maxSize` `h:5`; 18 şemada aynı
|
|
97
|
+
durum, liste zeyrek-frontend `docs/issues.md` ARC-013 — `page-header` 2026-09-18'de sınırı
|
|
98
|
+
12'ye açarak çıktı) — varsayılanı körü körüne kopyalama. Sınır grid kanvasının kuralıdır; API 2026-09-15'ten beri reddetmez, ama aşan
|
|
98
99
|
blok kanvasta boyutlandırılamaz (aşağıda Kural 7 "Boyut tuzağı").
|
|
99
100
|
- **Kurulmuş bir düğümün boyutunu `resize_component` micro-op'u değiştirir.**
|
|
100
101
|
`{ op: 'resize_component', target: '<elementId>', size: { w, h } }` ızgara boyutunu,
|
|
@@ -159,8 +160,9 @@ Sayfa açılışında veri çekmek için `mount` kullanılır ama tek seçenek o
|
|
|
159
160
|
|
|
160
161
|
Yani "satırı seçince detay getir" (`select`), "kolondan süzünce sunucudan yeniden çek"
|
|
161
162
|
(`filter`), "sayfa değişince yeni sayfayı çek" (`pagination`), "satıra çift tıklayınca formu aç"
|
|
162
|
-
(`doubleClick`) akışları da aynı `set_event` mekanizmasıyla kurulur. Buna karşılık `
|
|
163
|
-
|
|
163
|
+
(`doubleClick`) akışları da aynı `set_event` mekanizmasıyla kurulur. Buna karşılık `datatable`
|
|
164
|
+
yalnız `mount` yayar (bilinçli — Kural 1e); `page-header` 2026-09-18'den beri izdeki öğe
|
|
165
|
+
tıklamasını `clickItem` olarak yayar (`component_get` yükü verir).
|
|
164
166
|
|
|
165
167
|
**Olay adları `on` ÖNEKİ ALMAZ** (`button` → `click`, `form` → `submit`), tek istisna katalogda
|
|
166
168
|
`texteditor`'dur (`onMount`/`onChange`). **Komponentin desteklemediği bir olay adı verirsen bağ
|
|
@@ -197,12 +199,14 @@ olaylarında **boştur** (ölçüm 2026-08-25, kaynak okuması: `flow-machine.ts
|
|
|
197
199
|
Pratik kural: **`payload` anahtarları aynı zamanda prop adlarıdır; akışta `self.<anahtar>` ile
|
|
198
200
|
oku** (ya da `value { type:'property', ref:{ source:'component', element, property } }` ile).
|
|
199
201
|
`event.data` yalnız `params` ile gelen olaylarda dolar — `html` komponentinin `fireEvent`
|
|
200
|
-
aksiyonları (`platform_guide('html')`) ve
|
|
201
|
-
`importwizard` · `kanban` · `signature` · `stepper`
|
|
202
|
-
|
|
203
|
-
yazmaz (`component_get` çıktısındaki sözleşme notları ayrımı
|
|
204
|
-
|
|
205
|
-
|
|
202
|
+
aksiyonları (`platform_guide('html')`) ve **`params`'ı da gönderen komponentler**
|
|
203
|
+
(`eventcalendar` · `importwizard` · `kanban` · `signature` · `stepper` · `tabs` ·
|
|
204
|
+
`tree-view` · `pagination`): bunların yükü `event.data.<anahtar>` ile de okunur; `kanban` ve
|
|
205
|
+
`eventcalendar` yükü `self`'e HİÇ yazmaz (`component_get` çıktısındaki sözleşme notları ayrımı
|
|
206
|
+
söyler). Sessiz hata örneği: **tablonun kendi** sayfalama akışını (`table.pagination`)
|
|
207
|
+
`event.data.limit`'e bağlarsan sorgu `LIMIT null OFFSET null` ile koşar ve **tüm satırları**
|
|
208
|
+
döndürür; hata yok, sayfalama yok. (Bağımsız `pagination` komponenti bu tuzağa girmez, yükünü
|
|
209
|
+
`params` ile de gönderir.)
|
|
206
210
|
|
|
207
211
|
| Komponent · olay | Yük (aynı zamanda prop adları) | Akışta nereden okunur |
|
|
208
212
|
|---|---|---|
|
|
@@ -212,16 +216,18 @@ sayfalama akışını `event.data.limit`'e bağlarsan sorgu `LIMIT null OFFSET n
|
|
|
212
216
|
| `table.select` · `doubleClick` | — | `self.selectedRow` |
|
|
213
217
|
| `table.selectionChange` | — | `self.selectedRows` |
|
|
214
218
|
| `datatable.mount` | — | `self.filters` · `self.sortField` · `self.sortType` · `self.offset` |
|
|
215
|
-
| `pagination.change` | `{ offset, limit }` | `self.offset` · `self.limit` |
|
|
219
|
+
| `pagination.change` | `{ offset, limit }` | `self.offset` · `self.limit` ya da `event.data.offset` · `event.data.limit` |
|
|
216
220
|
| `textinput/textarea/password.change` | `{ value }` | `self.value` |
|
|
217
221
|
| `dropdown.change` · `multi-select.change` | `{ value }` | `self.value` |
|
|
218
222
|
| `dropdown.search` · `multi-select.search` | `{ searchText }` | `self.searchText` |
|
|
219
|
-
| `tabs.tab` | `{ selected }` | `self.selected` |
|
|
223
|
+
| `tabs.tab` | `{ selected }` | `self.selected` ya da `event.data.selected` |
|
|
220
224
|
| `chart.dataPointClick` | `{ name, seriesName, value, dataIndex, row }` | `self.row` (kaynak satırın tamamı) |
|
|
221
|
-
| `repeater.change` | `{ selectedIndex }` | `
|
|
225
|
+
| `repeater.change` · `repeater.select` | `{ selectedIndex }` | `self.selectedIndex` · `self.selectedItem` (akış satır bağlamında koşmaz, `item`/`Row` boş) |
|
|
222
226
|
| `html` aksiyonu (`fireEvent`) | ikinci argüman | **`event.data`** |
|
|
223
227
|
| `kanban.cardMove` | `{ id, row, from, to }` | **`event.data`** (self'e yazılmaz) |
|
|
228
|
+
| `kanban.cardAdd` · `kanban.cardRemove` | `{ column }` · `{ id, row, column }` | **`event.data`** (self'e yazılmaz; kart eklenmez/gizlenmez, akış yazıp `rows`'u tazeler) |
|
|
224
229
|
| `eventcalendar.eventMove` | `{ id, row, start, end, previousStart, previousEnd }` | **`event.data`** (self'e yazılmaz) |
|
|
230
|
+
| `eventcalendar.monthChange` · `eventcalendar.viewChange` · `eventcalendar.eventCreate` | `{ month, year, view, start, end }` · `{ view, start, end }` · `{ start, end, allDay }` | **`event.data`** (self'e yazılmaz; veri sorgusunu kesişimle bağla: başlangıç < `end`+1 gün ve bitiş >= `start`) |
|
|
225
231
|
| `importwizard.complete` | `{ rows, errors, fileName, total }` | `self.rows`… ya da `event.data` |
|
|
226
232
|
| `stepper.stepChange` | `{ currentStep, previous }` | `self.currentStep` ya da `event.data` |
|
|
227
233
|
| `signature.change` | `{ value }` | `self.value` ya da `event.data.value` |
|
|
@@ -1825,7 +1831,7 @@ bağlanır, filtre `source:'expression'` + `value:'user.id'` olur.
|
|
|
1825
1831
|
| Kimlik alanları | `email` · `password` |
|
|
1826
1832
|
| Dosya | `fileUpload` (dropzone) · `fileInput` · `filebutton` · `file-viewer` |
|
|
1827
1833
|
| Liste | `table` · `datatable` (Kural 1e) · `repeater` (kart listesi VE dinamik form — Kural 1g) · `tree-view` (hiyerarşi; `isSearchable` ile istemci içi arama) · `timeline` (tarihli olay akışı) |
|
|
1828
|
-
| Pano / takvim | `kanban` (durum kolonlarında sürüklenebilir kartlar; taşıma `cardMove` ile `event.data`'dan okunur, kalıcılık AKIŞIN işidir) · `eventcalendar` (ay/hafta/gün; veri `rows`'a akışla yazılır, `monthChange`
|
|
1834
|
+
| Pano / takvim | `kanban` (durum kolonlarında sürüklenebilir kartlar; taşıma `cardMove` ile `event.data`'dan okunur, kalıcılık AKIŞIN işidir) · `eventcalendar` (ay/hafta/gün/ajanda; veri `rows`'a akışla yazılır, `monthChange`/`viewChange` görünen `start`/`end` aralığıyla tazeleme kancasıdır) |
|
|
1829
1835
|
| Kayıt detayı | `detailview` — tek kaydı etiket/değer ızgarası basar (alan başına format, iç içe alan yolu); OLAY YAYMAZ, tıklanabilirlik gerekiyorsa kapsayıcıya sar |
|
|
1830
1836
|
| Adımlı akış | `stepper` — tabs gibi her adım kendi droppable görünümünü taşır; ileri gidiş `canProceed` kapısıyla (`{{ form1.isValid === true }}` biçimi), adım `currentStep` setter'ıyla sürülür |
|
|
1831
1837
|
| İmza / CSV içe aktarma | `signature` (değer PNG data-URL ya da ham SVG; `change` setter'lı) · `importwizard` (3 adımlı sihirbaz; temiz+hatalı satırlar `complete` yükünde — satırları uca yazmak akışın işidir) |
|
package/package.json
CHANGED