Bileşenler için Stil Sınıfları

Kullanıcıların bileşeninize uygulayabilecekleri tanımlı bir stil listesi oluşturabilirsiniz.

Bileşeniniz için ön tanımlı bir stil listesine sahip olma, bir temanın tasarım dosyaları yoluyla Oracle Content Management tarafından sağlanan bileşenlere yönelik stil sınıflarını tanımlama ile aynı modeli izler. Özel stil sınıflarınızı bileşene yönelik appinfo.json dosyasında adlandırırsınız.

design.css ve design.json dosyalarında ek stiller tanımlarsınız. json dosyası kullanıcı arayüzünde görünecek addan altta yatan fiili css sınıf adına bir eşleme sağlar ve css dosyası her stil sınıfı için detayları sağlar.

design.json dosyası bileşenler için şu yapıya sahiptir:

{
    "componentStyles": {
        "scs-image": {
            "styles": []
        },
        "scs-map": {
            "styles": []
        },
        "scs-title": {
            "styles": []
        },
        "scs-paragraph": {
            "styles": []
        },
        "scs-txt": {
            "styles": []
        },
        "scs-divider": {
            "styles": []
        },
        "scs-button": {
            "styles": []
        },
        "scs-app": {
            "styles": []
        },
        "scs-spacer": {
        },
        "scs-gallery": {
            "styles": []
        },
        "scs-youtube": {
            "styles": []
        },
        "scs-socialbar": {
            "styles": []
        },
        "scs-document": {
            "styles": []
        }
    }
}

Her "styles":[] girişi, bu belirli bileşen için bir dizi stil içerebilir. "name", kullanmak üzere belirtilen bir değer veya yerleşik bir yerelleştirilmiş dize referansı olabilir. Örneğin, Başlık bileşeni şu stil öndeğerlerini sağlar:

{    
    "styles": [{
                    "name": "COMP_STYLE_FLAT",
                    "class": "scs-title-default-style"
               },
               {
                     "name": "COMP_STYLE_HIGHLIGHT",
                     "class": "scs-title-style-2"
               },
               {
                     "name": "COMP_STYLE_DIVIDER",
                     "class": "scs-title-style-3"
               }
]
}

Ad değerleri, kullanıcı arayüzünde görüntülenmek üzere gerçek sözcüklere eşlenir; örneğin:

    "COMP_STYLE_FLAT": "Flat",
    "COMP_STYLE_HIGHLIGHT": "Highlight",
    "COMP_STYLE_DIVIDER": "Divider",

css dosyası sınıf değerleri için tanımları sağlar:

    .scs-title-default-style {
      color: #333333;
      display: block;
      font-family: "Helvetica Neue", "Helvetica", "Arial", sans-serif;
      font-size: 24px;
      font-weight: normal;
                             }

Örnek olarak, temanın design.json dosyasında components.json dosyasında tanımladığınız initialData.compomentId değerini esas alarak bileşeniniz için girişler ekleyebilirsiniz:

"componentId": "news-article"

design.json dosyasındaki ilgili girişler:

"componentStyles": {
        "news-article": {
                "styles": [{
                          "name": "News Article 1",
                          "class": "news-article-default-style"
                  },
                  {
                          "name": "News Article 2",
                          "class": "news-article-style-1"
                  }]
        },

design.css dosyasındaki ilgili girişler:

.news-article-default-style .scs-image {…}
.news-article-style-1 .scs-image {…}