Kurumsal yazılım · Yeni kaynak

SAP Fiori Tasarım Sistemi.

UI5 Web Components aracılığıyla SAP Fiori’ın Horizon temasını kullanın: gerçek tema parametreleri, açık içerik yoğunluğu, anlamsal değer durumları ve yerel doğrulama içeren bir satın alma talebi düzeni.

OpenDesign Kılavuzu8 Bölüm37 başvuru girdisiÖzgün Uygulama Kılavuzu
01

SAP Fiori Tasarım Sistemi Arayüz Önizlemesi

Bir satın alma talebini düzenleyin, miktarı doğrulayın, yoğunluğu değiştirin ve yerel bir özet hazırlayın.

Satın alma talebi çalışma alanıÖrneğin Tamamını Aç
Morning Horizon parametrelerinin ve UI5 form bileşiminin çevrimdışı HTML yorumu. Yerel paket örneği ayrı olarak verilmiştir. · Uygulama başvurusu
02

SAP Fiori Tasarım Sistemi Tasarım Referansı

Morning Horizon (sap_horizon) kaynak parametreleri ve güncel UI5 Web Components belgeleri. Aşağıdaki Less @sap adları kaynak parametreleridir; tarayıcı stilleri, bunlara karşılık gelen --sap özel özelliklerini kullanır. Korunan boyutlar, önerilen geçersiz kılma noktaları değil, gözlemlerdir.

Horizon renk rolleri

Kaynak
Ad / KuralDeğer / YapılandırmaKullanım
@sapBrandColor#0070f2 Birincil marka rolü.
@sapBackgroundColor#f5f6f7 Sayfa arka planı.
@sapBaseColor#ffffff Temel yüzey.
@sapTextColor#131e29 Birincil metin.
@sapNegativeColor#aa0808 Olumsuz durum.
@sapCriticalColor#e76500 Kritik rol; metin için ayrı bir türetilmiş rol kullanılır.
@sapPositiveColor#256f3a Olumlu durum.
@sapInformationBackground#e1f4ff Bilgilendirme mesajı yüzeyi.
@sapWarningBackground#fff8d6 Kritik mesaj yüzeyi.

Tipografi ve geometri

Kaynak
Ad / KuralDeğer / YapılandırmaKullanım
@sapFontFamily"72", "72full", Arial, Helvetica, sans-serifYayınlanmış yazı tipi yığını.
@sapFontSize0.875remTemel boyut.
@sapContent_LineHeight1.5İçerik satır yüksekliği çarpanı.
@sapElement_Height2.25remKorunan normal boyut.
@sapElement_Compact_Height1.625remKorunan kompakt boyut.
@sapElement_LineHeight2.75remKorunan normal satır kutusu.
@sapElement_Compact_LineHeight2remKorunan kompakt satır kutusu.
@sapButton_BorderCornerRadius0.5remDüğme köşe parametresi.
@sapContent_FocusWidth0.125remOdak genişliği.
@sapContent_FocusColor#0032a5 Odak rengi.

Tema ve yoğunluk kurulumu

Kaynak
Ad / KuralDeğer / YapılandırmaKullanım
sap_horizonMorning HorizonBileşenlerde yerleşik varsayılan tema.
sap_horizon_darkEvening HorizonEk tema için varlıklar gerekir.
sap_horizon_hcb / sap_horizon_hcwHigh contrast black / whiteDesteklenen yüksek karşıtlıklı temalar ayrı temalardır.
Assets.jsOne import per component library usedEk tema varlıklarını kaydedin.
setTheme(name)@ui5/webcomponents-base/dist/config/Theme.jsTemayı herkese açık API üzerinden değiştirin.

Select sözleşmesi

Kaynak
Ad / KuralDeğer / YapılandırmaKullanım
ui5-select valueMatches option value or textBunu option bileşenlerinin selected işaretleriyle karıştırmayın.
selectedOptionRead-only IOptionSeçili option nesnesini okuyun.
changeevent.detail.selectedOptionKesinleşmiş seçim değişikliği.
live-changeNavigation previewBunu kesinleşmiş bir iş kararı olarak değerlendirmeyin.
accessible-name-refID of visible labeling elementGörünür metni denetime bağlayın.

Girdi ve geri bildirim

Kaynak
Ad / KuralDeğer / YapılandırmaKullanım
valueStringSayısal girdiyi açıkça dönüştürün.
inputEach keystrokeCanlı tahmini toplamlar için kullanın.
changeEnter or focusoutHer tuş vuruşundaki girdiden farklıdır.
value-stateNone / Negative / Critical / Information / PositiveGeçerli API içindeki durum adları.
slot="valueStateMessage"One root elementBelirli bir alan açıklaması.

Mesaj şeridi

Kaynak
Ad / KuralDeğer / YapılandırmaKullanım
designInformation / Positive / Critical / NegativeAnlamsal uygulama mesajı.
hide-close-buttonBoolean attributeGerekli açıklamayı görünür tutun.
default slotPrefer text contentŞeridi karmaşık bir panele dönüştürmekten kaçının.
03

SAP Fiori Tasarım Sistemi Eksiksiz Kılavuzu

Bu sistemi gerçek bir arayüz için seçmeye, uygulamaya ve gözden geçirmeye yönelik pratik bir kılavuz.

DESIGN-sap-fiori.md

Eksiksiz yönlendirme, uygulama için başlangıç noktası ve kaynak bağlantıları.

Kılavuzu İndir

SAP Fiori Tasarım Sistemi tasarımı ile UI5 uygulamasının kapsamları farklıdır

Somut bir başlangıç noktası

SAP Fiori, kurumsal bir kullanıcı deneyimini tanımlar. Bu referansta, uygulanabilir bir satın alma talebi örneği için UI5 Web Components seçilmiştir. Bu, söz konusu bileşenleri yüklemenin bir SAPUI5 uygulaması, Fiori elements yerleşim planı veya yetkilendirilmiş bir SAP iş işlemi oluşturduğu anlamına gelmez.

Bu OpenDesign kılavuzundan

Ana bileşen paketi Input, Select ve Button bileşenlerini sağlar. Daha üst düzey Fiori bileşenleri ayrı bir pakette bulunur. Bu örnekte yalnızca kullanılan modüllerin içe aktarılması, başlangıç noktasını açıkça belirtir ve desteklenmeyen bir tüm bileşenler CDN'i izlenimi vermekten kaçınır.

Destekleyici belirtimi okuyun

SAP Fiori Tasarım Sistemi Genel bir mavi palet yerine adlandırılmış Horizon parametrelerini kullanın

Yüzey ve durum rolleri

Morning Horizon, sayfayı açık gri bir yüzeye yerleştirir ve temel yüzey olarak beyazı kullanır. Marka mavisi ile metin rengi ayrı parametrelerdir. Olumsuz, kritik, olumlu ve bilgilendirici roller; kartlar arasında sırayla kullanılacak dekoratif renkleri değil, anlamları belirtir.

Önizlemede, yerel hazırlık satın alma onayı anlamına gelmediğinden hazırlanmış özet için bir bilgilendirme şeridi kullanılır. Ürün fiyatı, masraf yerleri ve onay açıklamaları özgün örnek verilerdir. Bunlar hiçbir zaman SAP tarafından sağlanan iş kuralları olarak yorumlanmamalıdır.

Destekleyici belirtimi okuyun

SAP Fiori Tasarım Sistemi Compact, ekran görüntüsünün küçültülmesi değil, bileşen ayarıdır

Yoğunluğu anlamlı bir alana uygulayın

UI5; root, body, bir alan veya bir bileşen üzerinde compact işaretleyicisinin kullanılmasını destekler. data-ui5-compact-size özniteliği ve ui5-content-density-compact sınıfı, herkese açık mekanizmalardır. İşaretleyiciyi dinamik olarak değiştirmek için ayrı bir yoğunluk API gerekmez.

Etkileşim uygun kaldığı sürece, yoğun masaüstü görevlerinde kompakt denetimler kullanın. Gömülü yorum, denetimler ve satırlar arasındaki boşluğu azaltır ancak aynı bilgileri korur. Dar yerleşim, her etiketi ve düğmeyi küçültmek yerine alanları alt alta dizer.

html
<section data-ui5-compact-size>
  <ui5-input accessible-name="Request title"></ui5-input>
</section>

Kod referansı

Destekleyici belirtimi okuyun

SAP Fiori Tasarım Sistemi 72 yazı tipi ailesi ve yükleme davranışı

Yazı tipinin kullanılabilir olması kurulumun bir parçasıdır

Horizon teması, geri dönüş yazı tiplerinden önce 72 ve 72full adlarını kullanır. UI5, varsayılan yazı tipi yüklemesinin nasıl devre dışı bırakılacağını ve yazı tiplerinin yerel olarak nasıl barındırılacağını açıklar. Kolaylık sağlayan FontFace.css girdisi deneysel olarak işaretlenmiştir; bu yolu seçerken yolunu sabitleyin ve yeniden kontrol edin.

Bağımsız önizleme, açıkça belirtilmiş bir çevrimdışı geri dönüş seçeneği olarak Arial kullanır. Yerel UI5 örneği, yayınlanmış font-family değişkenini kullanır. Bu ayrım, görsel olarak benzer bir yedek yazı tipinin ekran görüntüsünün SAP yazı tipi varlıklarının yüklendiğinin kanıtı olduğu iddiasından kaçınır.

Destekleyici belirtimi okuyun

SAP Fiori Tasarım Sistemi Select bileşeninde onaylanmış ve geçici değişiklikler bulunur

Denetimli tek bir seçim stratejisi belirleyin

Select değeri, bir Option değerine veya metnine karşılık gelir. Select value ile Option bileşenlerindeki selected işaretlerinin birlikte kullanılması önerilmez; mevcut olmayan bir değer hiçbir seçeneği seçili hâle getirmez. Örnek, gerçek bir masraf yeri seçeneğini başlangıçta seçer ve sonucu hazırlarken Select değerini okur.

change olayı, seçili seçeneği içerir. live-change olayı, seçenekler arasında gezinirken ve Escape ile geri dönerken de tetiklenir. İş verileri için kesinleşmiş seçimi kullanın; geçici değişiklikleri ise önizlemelerle sınırlı tutun.

  • Etiketleri oluşturmadan önce Select ve Option kayıtlarını içe aktarın.
  • Görünür masraf yeri etiketini accessible-name-ref aracılığıyla bağlayın.
  • Bu örnekte tek seçim stratejisi olarak value değerini kullanın.

Destekleyici belirtimi okuyun

SAP Fiori Tasarım Sistemi Sayısal girdi için yine de uygulama doğrulaması gerekir

Durum değeri ile mesaj birlikte kullanılmalıdır

Input değerinin türü Number olsa bile değeri bir dizedir. Örnek fiyatla çarpmadan önce değeri dönüştürün ve sonlu, tam sayı sınırları içinde olduğunu kontrol edin. Boş değer sıfır olarak kabul edilmemelidir. Geçerli anlamsal hata durumu, uydurma bir Error enum değeri değil Negative'dır.

valueStateMessage yuvası, belirli bir açıklama içeren tek bir kök öğe sağlar. Canlı toplam input olayını dinler; hazırlanmış özet ise yalnızca kullanıcı eylemi başlattığında güncellenir.

  1. Başlığı ve sayısal dizeyi bileşenlerinden okuyun.
  2. Bu örnek için başlık girilmesini ve 1 ile 20 arasında tam sayı miktar belirtilmesini zorunlu tutun.
  3. Etkilenen denetimleri Negative olarak işaretleyin ve girilen değerlerini koruyun.
  4. Özeti yalnızca her iki koşul da sağlandıktan sonra hazırlayın.

Destekleyici belirtimi okuyun

SAP Fiori Tasarım Sistemi Sonucu açıklayıcı ve yerel tutun

Kısa bir sonuç için şerit kullanın

MessageStrip, anlamsal tasarımları ve kapatma denetimini destekler. Zorunlu bir açıklama varsa kapatma düğmesi gizlenerek mesajın görünür kalması sağlanabilir. Varsayılan yuvasında form ya da gösterge paneli yerine metin kullanılması tercih edilir.

Özet; başlık, miktar, örnek toplam ve masraf yerini içerir. Son cümle, hiçbir şeyin gönderilmediğini açıklar. Gerçek bir hizmette bu yerel adımın yerini yetkilendirilmiş bir istek ve gerçek arka uç durumunu bildiren bir yanıt alır.

Destekleyici belirtimi okuyun

SAP Fiori tasarım sistemi tema varlıkları ve modül kaydı

Tema seçimi, temaya karşılık gelen kaynakları gerektirir

Belgelenmiş varsayılan tema Morning Horizon'dır ve bileşenlerde yerleşik olarak bulunur. Ek temalar için kullanılan her kitaplığa ait Assets.js modülü gerekir. Ardından setTheme ile Evening Horizon veya yüksek kontrastlı varyantlardan biri seçilebilir. Yüklenmiş kaynakları kontrol etmeden koyu temalı bir ad seçmek, entegrasyonu tamamlamaz.

Sağlanan giriş noktası, işaretlemeyi oluşturmadan önce her özel öğeyi kaydeder. Vite, dinamik ES importlarını ve JSON kaynaklarını işler. Çevrimdışı HTML örneğinden bağımsız olarak yerel projeyi derleyin; yazı tiplerini, tema yüklemesini ve klavye davranışını doğrulayın.

Destekleyici belirtimi okuyun

SAP Fiori tasarım sistemi bileşen örnekleri

Tamamlanmış, bağımsız ve etkileşimli örnek

Belgenin tamamını index.html olarak kaydedip tarayıcıda açın. Bu, Morning Horizon parametrelerinin ve UI5 form bileşiminin çevrimdışı HTML yorumudur. Yerel paket örneği ayrıca verilmiştir.

html
<!doctype html><html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Fiori purchase request</title><style>
*{box-sizing:border-box}body{margin:0;color:#131e29;background:#f5f6f7;font:14px/1.5 Arial,sans-serif}header{background:white;padding:12px 24px;display:flex;gap:16px;align-items:center;border-bottom:1px solid #d5dadd}.symbol{width:32px;height:32px;display:grid;place-items:center;background:#0070f2;color:white;border-radius:8px;font-weight:bold}header strong{font-size:16px}header span:last-child{margin-left:auto;color:#556b82;font-size:12px}main{max-width:1100px;margin:auto;padding:24px}.objecthead{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:24px}h1{font-size:28px;line-height:36px;margin:0 0 6px}h2{font-size:18px;margin:0 0 16px}.subtitle{color:#556b82;margin:0}.draft{background:#e1f4ff;color:#0032a5;padding:6px 12px;border-radius:6px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.panel{background:white;border-radius:12px;padding:24px;border:1px solid #d5dadd}label{display:block;margin-bottom:6px;color:#556b82}input,select{width:100%;height:44px;border:1px solid #758ca4;border-radius:8px;padding:8px 12px;background:#fff;font:inherit;color:inherit}input:focus,select:focus,button:focus-visible{outline:2px solid #0032a5;outline-offset:3px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.fields>div:first-child{grid-column:1/-1}.line{border-top:1px solid #d5dadd;padding-top:20px;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:16px;align-items:center}.monitor{background:#e1f4ff;border:2px solid #556b82;height:42px;border-radius:4px;position:relative;margin-bottom:12px}.monitor:after{content:'';position:absolute;bottom:-12px;left:25%;width:50%;height:10px;border-bottom:3px solid #556b82;border-left:8px solid transparent;border-right:8px solid transparent}.line strong{display:block}.line small{color:#556b82}.money{font-size:24px;font-weight:600;white-space:nowrap}.unit{font-size:12px;color:#556b82}.total{display:flex;justify-content:space-between;padding-top:24px;font-weight:600}.controls{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}button{border:1px solid #0070f2;background:white;color:#0057b8;padding:10px 16px;border-radius:8px;font:600 14px/20px Arial;cursor:pointer}button.primary{background:#0070f2;color:white}button:hover{filter:brightness(.95)}.steps{list-style:none;padding:0;margin:0;counter-reset:step}.steps li{position:relative;padding:0 0 24px 36px;color:#556b82}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;border:1px solid #758ca4;border-radius:50%;width:24px;height:24px;text-align:center;background:white}.steps strong{display:block;color:#131e29}.steps li:first-child:before{background:#e1f4ff;color:#0057b8;border-color:#0070f2}.strip{margin-top:24px;background:#e1f4ff;border:1px solid #0070f2;padding:12px 16px;border-radius:8px}.strip.error{background:#ffeaf4;border-color:#aa0808;color:#aa0808}.foot{font-size:12px;color:#556b82;margin-top:24px}.compact input,.compact select{height:32px;padding:4px 8px}.compact .fields{gap:12px}.compact .panel{padding:16px}.compact .line{padding-top:12px}.compact button{padding:6px 12px}.hint{font-size:12px;color:#556b82;margin:6px 0 0}@media(max-width:700px){main{padding:20px 16px}.layout{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.objecthead{display:block}.draft{display:inline-block;margin-top:12px}.line{grid-template-columns:48px minmax(0,1fr)}.line>.money{grid-column:2}.panel{padding:20px}header{padding:12px 16px}}
</style><header><span class="symbol">P</span><strong>Procurement workspace</strong><span>Sample environment</span></header><main><div class="objecthead"><div><h1>Purchase request</h1><p class="subtitle">PR-DRAFT · Workplace equipment</p></div><span class="draft">Draft · not submitted</span></div><div class="layout"><section class="panel"><h2>Request details</h2><form id="form" novalidate><div class="fields"><div><label for="title">Request title</label><input id="title" placeholder="e.g. Studio display upgrade" aria-describedby="notice"></div><div><label for="team">Cost center</label><select id="team"><option value="Design · CC-240">Design · CC-240</option><option value="Research · CC-360">Research · CC-360</option></select></div><div><label for="qty">Monitor quantity</label><input id="qty" type="number" min="1" max="20" step="1" value="2" aria-describedby="qty-help notice"><p id="qty-help" class="hint">Whole number from 1 to 20.</p></div></div><div class="line"><div class="monitor" aria-hidden="true"></div><div><strong>27-inch studio monitor</strong><small>Equipment · Item 100240</small></div><div class="money">€320 <span class="unit">/ unit</span></div></div><div class="total"><span>Estimated line total</span><output id="total">€640</output></div><div class="controls"><button class="primary">Prepare summary</button><button type="button" id="density" aria-pressed="false">Compact controls</button></div></form></section><aside class="panel"><h2>Request path</h2><ol class="steps"><li><strong>Prepare draft</strong>Check quantities and cost center.</li><li><strong>Review summary</strong>Confirm the local request details.</li><li><strong>Submit to service</strong>Not connected in this preview.</li></ol><p class="hint">The review path and price are illustrative application data.</p></aside></div><div class="strip" id="notice" role="status">Complete the draft before preparing the summary.</div><p class="foot">HTML interpretation of SAP Morning Horizon · UI5 native integration provided in guide · No SAP transaction created</p></main><script>
const $=id=>document.getElementById(id);function amount(){const n=Number($('qty').value);return Number.isInteger(n)&&n>=1&&n<=20?n:null}$('qty').oninput=()=>{$('total').textContent=amount()===null?'Invalid quantity':'€'+amount()*320};$('density').onclick=()=>{const active=document.body.classList.toggle('compact');$('density').setAttribute('aria-pressed',String(active));$('density').textContent=active?'Cozy controls':'Compact controls'};$('form').onsubmit=e=>{e.preventDefault();const title=$('title').value.trim(),n=amount();$('title').setAttribute('aria-invalid',String(!title));$('qty').setAttribute('aria-invalid',String(n===null));$('notice').classList.toggle('error',!title||n===null);if(!title||n===null){$('notice').textContent=!title?'Enter a title for this request.':'Use a whole quantity from 1 to 20.';(!title?$('title'):$('qty')).focus();return}$('notice').textContent='Local summary: '+title+' · '+n+' monitors · €'+n*320+' · '+$('team').value+'. Nothing submitted.'};
</script></html>

Kod referansı

  • Bu HTML belgesindeki yoğunluk anahtarı bir yorumlamadır. UI5 giriş noktası, gerçek kompakt işaretçiyi, kaydedilmiş özel öğeleri ve Horizon varlıklarını gösterir.

Miktar doğrulamalı Horizon satın alma talebi

Input, Select/Option, Button ve MessageStrip birlikte yerel bir talep özeti oluşturur. Her tuş vuruşunda güncellenen toplamlar, hazırlanan sonuçtan ayrı tutulur.

JavaScript
// main.js in a Vite vanilla project. index.html contains <div id="app"></div>.
import '@ui5/webcomponents/dist/Button.js';
import '@ui5/webcomponents/dist/Input.js';
import '@ui5/webcomponents/dist/Select.js';
import '@ui5/webcomponents/dist/Option.js';
import '@ui5/webcomponents/dist/MessageStrip.js';
import '@ui5/webcomponents/dist/Assets.js';
import {setTheme} from '@ui5/webcomponents-base/dist/config/Theme.js';
setTheme('sap_horizon');
document.querySelector('#app').innerHTML = `
  <main style="max-width:800px;margin:auto;padding:24px;font-family:var(--sapFontFamily)">
    <h1>Purchase request</h1>
    <p>Prepare a local requisition summary. No SAP transaction is created.</p>
    <p id="request-label">Request title</p>
    <ui5-input id="title" accessible-name-ref="request-label" required>
      <span slot="valueStateMessage">Enter a title for this request.</span>
    </ui5-input>
    <p id="team-label">Cost center</p>
    <ui5-select id="team" accessible-name-ref="team-label" value="design">
      <ui5-option value="design">Design · CC-240</ui5-option>
      <ui5-option value="research">Research · CC-360</ui5-option>
    </ui5-select>
    <p id="qty-label">Monitor quantity</p>
    <ui5-input id="qty" type="Number" accessible-name-ref="qty-label" value="2">
      <span slot="valueStateMessage">Use a whole number from 1 to 20.</span>
    </ui5-input>
    <p id="total">Estimated line total: €640</p>
    <ui5-button id="prepare" design="Emphasized">Prepare summary</ui5-button>
    <ui5-button id="density">Toggle compact controls</ui5-button>
    <ui5-message-strip id="notice" design="Information" hide-close-button style="display:block;margin-top:24px">
      Complete the draft before preparing the summary.
    </ui5-message-strip>
  </main>`;
const title=document.querySelector('#title'),qty=document.querySelector('#qty');
qty.addEventListener('input',()=>{
  const n=Number(qty.value);
  document.querySelector('#total').textContent=Number.isInteger(n)&&n>=1&&n<=20
    ? `Estimated line total: €${n*320}` : 'Enter a valid quantity to calculate the total.';
});
document.querySelector('#prepare').addEventListener('click',()=>{
  const n=Number(qty.value), validTitle=!!title.value.trim(), validQty=Number.isInteger(n)&&n>=1&&n<=20;
  title.valueState=validTitle?'None':'Negative';qty.valueState=validQty?'None':'Negative';
  const notice=document.querySelector('#notice');
  if(!validTitle||!validQty){notice.design='Negative';notice.textContent='Correct the request title or quantity before continuing.';return;}
  notice.design='Information';
  notice.textContent=`Local summary: ${title.value.trim()}, ${n} monitors, €${n*320}, ${document.querySelector('#team').value}. Nothing submitted.`;
});
document.querySelector('#density').addEventListener('click',()=>document.body.toggleAttribute('data-ui5-compact-size'));

Kod referansı

  • Miktar kuralı, €320 ürün fiyatı ve masraf yerleri örnek uygulama verileridir; SAP politikası değildir.
  • UI5 Web Components, Fiori kalıplarının bir uygulamasıdır; bu, eksiksiz bir SAPUI5 uygulaması veya Fiori elements yerleşim planı değildir.
  • SAP işlem kaydı oluşturulmaz. Çevrimdışı önizleme doğrulaması, yerel bağımlılıkların derlendiği anlamına gelmez.
04

SAP Fiori tasarım sistemi aracı kurulumu

Uygulamaya Başlangıç Noktası

Vite main.js dosyasını örneğin tamamıyla değiştirin. UI5 belgeleri bir ES modül paketleyicisi kullanılmasını öngörür; tüm bileşenleri kapsayan resmî bir CDN sunmaz.

bash
npm create vite@latest fiori-request -- --template vanilla
cd fiori-request
npm install
npm install @ui5/webcomponents @ui5/webcomponents-base
npm run dev

Projeniz İçin Bir İstem

Ajan İstemi
Horizon temasıyla UI5 Web Components Input, Select, Button ve MessageStrip kullanarak bir Fiori satın alma talebi oluşturun. Sayısal doğrulamayı, doğru Negative değer durumunu, açık kompakt yoğunluğu ve yerel özetin gerçeğe uygun davranışını koruyun.
05

SAP Fiori tasarım sistemi kaynakları ve kapsamı

Bağımsız OpenDesign başvurusu. UI5 Web Components örneğidir; dağıtılmış bir SAP işlemi veya eksiksiz bir Fiori elements uygulaması değildir.