本日のお裾分け

日々の開発で得た知識をシェアします。Java/Scala/Ruby/javascript

PrimeFaces6.0.x リリースノートまとめ

暫く見ないうちにPrimeFacesのコンポーネントが進化していたので、公式ブログのリリースノートをまとめてみました。

元々はJavaEEのViewフレームワークである、JSFの1ライブラリといった感じでしたが、 今やAngularコンポーネントPrimeNGやらReactコンポーネントPrimeReactなど、Javaの停滞している隙に色々と風呂敷が広がっていました。

まだまだ要チェックなプロジェクトだなーといった印象です。

※英語は余力のあるときに徐々に翻訳していきます。

PrimeFaces 6.0.14 - 2017/1/23

新機能

p:chips 1つのテキストボックスに複数の値を入力できるchipsコンポーネントが追加されました。

改善

  • p:dataTableのcellEditModeでセルを編集した後、p:cellEditor内の値を消す
  • p:fileDownloadにmonitorKey属性を追加
  • p:timelineで拡大すると、イベントが誤ったグループ上に表示される。

バグ改修

  • p:fileUpload利用時にクライアントバリデーションでJSエラー
  • inputTextarea not allowing spaces and carriage returns
  • Selecting and transfering of item in the picklist component couses exception
  • Ajax request doesn’t cancel by extension onstart callback
  • Timezone issue on Calendar

PrimeFaces 6.0.13 - 2016/12/30

新機能

  • p:dataTableのcellEditMode=“lazy"のときに使えるイベント、cellEditInitを追加。

改善

  • Different ContextMenu for different nodeType doesn’t work for Horizontal Tree

バグ改修

  • PrimeFaces Data Exporter causes stack trace with OmniFaces Gzip
  • Alignment issue on SelectBooleanCheckbox
  • Alignment issue on toggler icon of Treetable
  • Icon event issue on TreeTable with RowEditor
  • ClientSideValidation seems not to work with p:calendar
  • Timeline lazyload not working since 6.0.8

PrimeFaces 6.0.12 - 2016/12/19

新機能

  • p:dataTableにexpandableRowGroups属性を追加

改善

  • CSS alignment improvements for radio and checkbox
  • ScreenReader support for icons of expandable row groups on DataTable

バグ改修

  • RadioButton generates invalid markup
  • Wrong default value for groupRow attribute on p:columns

PrimeFaces 6.0.11 - 2016/12/14

Row Grouping

p:dataTableの行をグルーピング出来るようになりました。p:rowGroupコンポーネントを利用する方法と、p:columnのgrouprRow属性を利用する方法があります。 ソートや集計機能と組み合わせることもできます。

改善

  • Add cellEditMode attribute to DataTable
  • Initial value of datatable sorting dropdown is incorrect on mobile view
  • Update FontAwesome to 4.7.0

バグ改修

  • Value containing double quotes generates an error on OrderList and PickList
  • Possible to access disabled tab in tabView

PrimeFaces 6.0.10 - 2016/12/1

TableState

TableStateはp:dataTableの状態を管理します。たとえ、ユーザーが他のページに行った後戻ってきたとしても、TableState object sessionから状態を復元します。 TableStateにはデータそのものではなく、メタデータを保持しています。現在対応しているのは以下の情報です。

  • Pagination
  • Sorting
  • Filters
  • Selection

将来的には以下も対応予定です。

  • Column Order, Width and Visibility
  • Expanded Rows

TableStateを有効にするのは簡単で、multiViewState属性をtrueにすることで有効になります。RequestContextには新たにclearTableStateメソッドが追加されました。

PrimeFaces 6.0.9 - 2016/11/28

バグ改修

  • First row in datatable always highlighted since PF 6
  • NullPointer on datatables with selectable rows and no selection attribute
  • Freeze on page load when using charts
  • DataTable Row Edit isn’t rendering output facet
  • Switching between datatable cells using tabs not working with p:inputNumber
  • Galleria.js Uncaught TypeError: Cannot read property ‘left’ of undefined on empty image list
  • Window scrollbar issue with sticky component
  • Alignment issue on the caption of Galleria component
  • slideMenu not usable in hidden panels

PrimeFaces 6.0.8 - 2016/11/17

PrimeFaces Team is pleased to announce the new update featuring the all-new organigram component to display Organizational Charts. This component is donated by CommerceBay GmbH.

新機能

  • p:organigram
  • p:dataTableがp:facetのヘッダー/フッターを含んでいたときに、PDFエクスポート対象とする。

改善

  • Column headerText support to SelectOneMenu
  • Add CellEditInit feature to Datatable with editMode=”cell”
  • Improve omega styling for scrollPanel

バグ改修

  • Ajax events after dataExporter broken
  • Column resizing problem with Internet Explorer 11
  • CommandButton in facet “description” of DataList doesn’t call its actionListener
  • First row in datatable always highlighted since PF 6
  • Timeline inside tabView not working

PrimeFaces 6.0.7 - 2016/10/27

新機能

  • p:selectOneButtonにunselectable属性を追加

改善

  • Update description of type attribute on InputNumber
  • Dynamic resource loading should ignore update=@all
  • ResourceUtils.filterStylesheets throws NPE if resource is not found (null)

バグ改修

  • XSS vulnerabillity on legend of Chart
  • Queued ajax requests processed on page navigation
  • TreeTable pagination throws exception
  • Duplicate text on TextEditor
  • KeyFilter allow input outside given regEx on Chrome and IE
  • Dynamic resource loading just ignore non-postback ajax requests
  • Clientside validation issue on InputNumber
  • FontWeight option has not effect for labelOptions on Chart

PrimeFaces 6.0.6 - 2016/10/12

新機能

  • p:treetableがpagenation対応
  • p:textEditorコンポーネントの追加
  • p:dataExporterにオプション属性を追加

改善

  • CheckboxMenu Not Keyboard Accessible When Trying To Close or Exit the List
  • MenuButton Menu Is Not Keyboard Accessible
  • selectOneMenu and Other Inputs That Are Conglomerations of Several Parts
  • SelectManyMenu allows to select disabled items
  • Provide more details in the error message for unimplemented methods in LazyDataModel

バグ改修

  • Security issue on ResourceHandler
  • Wrong value submitted on copy-paste on inputNumber
  • p:megaMenu – attribute autoDisplay=”false” disables link-functionality
  • Set mime type correctly for XLSX files

PrimeFaces 6.0.5 - 2016/9/30

新機能

  • p:treeがfilterに対応
  • p:calendarにbuttonTabindex属性を追加

バグ改修

  • Columntoggler.js is missing an closing >
  • Wrong reference issue on ValueExpressionAnalyzer class
  • Scrollable TreeTable alignment issue on Chrome
  • Value is not saved on editable selectOneMenu when dropdown is closed
  • TieredMenu Overlay disappears on Mouse Down when item’s text is clicked
  • Can’t Unselect SelectOneButton at first time, after submit
  • Cannot call reset() after response has been committed
  • Tree accessibility issue — keyboard trap
  • p:stack not resizes images when is rendered

PrimeFaces 6.0.4 - 2016/9/12

新機能

  • p:treeTableにdisabledTextSelection属性を追加

改善

  • Screen Reader support to SelectCheckboxMenu
  • Keyboard accessibility for icons of RowEditor
  • update webcamjs to 1.0.12
  • Update FontAwesome from 4.6.1 to 4.6.3

バグ改修

  • TieredMenu Overlay disappears on Mouse Down without Mouse Up
  • “Choose” button of advanced Fileupload focuses twice with Tab key on IE
  • Panel doesn’t open with ALT+Down arrow keys on SelectOneMenu
  • Improve component accessibility – set aria-sort on dataTable correctly
  • Label escape issue on LineChartSeries

PrimeFaces 6.0.3 - 2016/8/16

新機能

  • p:commandButtonにrenderDisabledClick属性を追加

改善

  • Improve accessibility according to WCAG 2.0 on MegaMenu
  • Add role=”presentation” to table tag of submenu on MegaMenu
  • Improve accessibility according to WCAG 2.0 on DialogFramework
  • Add tabindex to PickList
  • Improve accessibility according to WCAG 2.0 on Picklist
  • Improve pagelink text on paginator
  • Add scope=”col” to headers on Datatable
  • Accordian tabs use a hard-wired h3 heading
  • Calendar should support converters

バグ改修

  • Datatable with cellEdit throws exception on scrollable and frozenColumns modes
  • tabindex issue on Paginator with disabled page links
  • InputNumber issue on keyup/down event
  • Able to select disabled item in SelectOneMenu

PrimeFaces 6.0.2 - 2016/7/26

新機能

  • p:inputNumberにpadControl属性を追加

改善

  • Hidden container support to Tabview on PF-Mobile

バグ改修

  • XSS via “legend” attribute in p:fieldset
  • SelectManyMenu XSS vulnerability
  • JS error in InputTextarea
  • ValueChangeEvent not triggered for Picklist
  • SmoothLine method is not effective in LinearChartSeries
  • Component type is misspelled in primefaces-p.taglib.xml, see outputLabel.xml in source code
  • disable() is not working on widget returned by PrimeFaces.getWidgetById()
  • p:message compatibility with new tooltip

PrimeFaces 6.0.1 - 2016/6/28

TriStateCheckbox

TriStateCheckbox has been promoted from extensions and provides a new state to a checkbox selection.

ClientCache for DataTable

The new client cache option creates a client side cache to improve user experience in datatable pagination by caching loaded pages to avoid extra ajax requests.

新機能

  • PFExtensions Migration: TriStateCheckbox
  • p:dataTableにclientCache属性を追加
  • Disable selectOneMenu autoWidth if width is manually defined with style
  • p:scheduleにnextDayThreshold属性を追加
  • CSV support to inputNumber
  • globalTooltip support to Elements on Diagram

改善

  • Unable to set maxValue > 15 digits for inputNumber

バグ改修

  • The legend of hidden series on Chart is not displayed correctly in exported image
  • Tab header wrapping issue on Mobile TabView
  • Invalid sheet names are allowed in ExcelExporter which causes runtime exception
  • OutputLink component doesn’t work correctly in the header of panel
  • Hidden series on Chart are displayed in exported image
  • Unable to edit same cell after setting saveOnCellBlur=”false” on DataTable with cell edit
  • Submenu inside toggleable Menu not toggling properly
  • Arrow keys inside inputfield have no effect on Calendar with mask
  • columnFormat doesn’t work as expected on Schedule

PrimeFaces 6.0 - 2016/6/7

新機能

Various components have been promoted to PrimeFaces from Extensions project as a result of merger. These are;

Omega Theme

Aristo started to look outdated so we’ve created a new modern looking default theme called Omega.

There will also be a Next-Gen Premium Layout for Omega to complete it soon. Here is the main design with a vertical menu. There will also be a horizontal top bar menu option.

Quality

Our team has spent a lot of time on reported issue reports and there are 150 defect fixes in 6.0 that improves the overall quality. These were delivered to Elite subscribers bi-weekly and now they are available to whole community as well.

WAI-ARIA

We’ve invested in many hours to improve the accessibility of the components for 508 compliance regarding keyboard and screen reader support. There is even now localization support for screen readers.

Documentation

PrimeFaces User Guide is updated along with new api-vdl docs at documentation page.