25 април, 2024

На 18 юни бе пусната версия на V5.1.0 на Oracle JET. Това бе 25-то поредно издание за Oracle JET. Архитектът на Oracle Дънкан Хилс представи възможностите на композитните архитектурни компоненти. И в други скорошни издания бяха добавени нови функции за подпомагане на разработването на композитни компоненти.

Развитие

Ако сте използвали нормални слотове, ще сте наясно, че намерението е да позволите на автора на компонента да напусне заместителите в изгледа на компонентите, за да могат потребителите да пуснат своето собствено съдържание. Типичният пример за това е нещо като компонент на лентата с инструменти, който снабдява определен набор предварително настроени бутони, на които се поддържа слот за потребителите. Така че съдържанието на слота се осигурява от потребителя, но се “управлява” от гледна точка на оформлението от компонента.

Въвеждане на шаблонирани слотове

Шаблонните слотове въвеждат идеята за контекст на данни в слот, така че вместо компонентите в слота да виждат едни и същи данни от родителския модул като компонент, те всъщност виждат (някои избрани) данни и от персонализирания компонент. Това е фина, но основна разлика. Ето един прост пример:

<demo-list-o-data data=”{{someData}}”>

 <template slot=”employeeRowTemplate” data-oj-as=”employeeRow”>

     <span>

       <oj-bind-text value=”[[employeeRow.employeeName]]”></oj-bind-text>

     </span>

 </template>

</demo-list-o-data>

 

Metadata

На първо място, разбира се, искаме да уточним за потребителите (и инструментите като VBCS), че те се занимават с темплейтиран слот, а не с “нормален” слот. Това се извършва чрез дефиниране на атрибут на данни в метаданните на слота, които описват формата на конкретните данни. Компонентът ще изложи до съдържанието на слота през $ current или назначеното име на data -oj-as. За нашия пример тук, това може да изглежда като component.json на слот.

 

“slots”: {

 “employeeRowTemplate”:{

   “description”:”Allows the consumer to control how each row in the list is laid out”,

   “data”: {

     “employeeId”: {

       “description”:”Unique identifier for the employee”,

       “type”:”number”

     },

     “employeeName”: {

       “description”:”First and last name of employee”,

       “type”:”String”

     }

   }

 }

}

Това са и част от основните функции на JET.  А това списък с компонентите, различни от CCA:

 

Component Enhancement Description
oj-chart New “data” attribute. Introduces new attributes, slots, and custom elements.
oj-film-strip New “looping” attribute. Specifies filmstrip navigation behavior, bounded (“off) or looping (“page”).
oj-form-layout Enhanced content flexibility. Removes restrictions on the types of children allowed in the “oj-form-layout” component.
oj-gantt New “dnd” attribute and “ojMove” event. Provides new support for moving tasks via drag and drop.
oj-label-value New component. Provides enhanced layout flexibility for the “oj-form-layout” component.
oj-list-view Enhanced “itemTemplate” slot. Supports including the <LI> element in the template.
oj-swipe-actions New component. Provides a declarative way to add swipe-to-reveal functionality to items in the “oj-list-view” component.
Тагове: ,