PrimeFaces6.0.x 新機能まとめ


暫く見ないうちにPrimeFacesのコンポーネントが進化していたので、[公式ブログ](http://blog.primefaces.org/)のリリースノートのうち、新機能をまとめてみました。

元々はJavaEEのViewフレームワークである、JSFの1ライブラリといった感じでしたが、
今やAngularコンポーネント[PrimeNG](http://www.primefaces.org/primeng/#/)やらReactコンポーネント[PrimeReact](http://blog.primefaces.org/?p=4271)など、Javaの停滞している隙に色々と風呂敷が広がっていました。

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

## [PrimeFaces 6.0.14](http://blog.primefaces.org/?p=4319) - 2017/1/23

<!--### 新機能-->

+ [p:chips](http://www.primefaces.org/showcase/ui/input/chips.xhtml)
１つのテキストボックスに複数の値を入力できるchipsコンポーネントが追加されました。
<img src="http://blog.primefaces.org/wp-content/uploads/2017/01/chips.png"/>

<!--
### 改善
+ 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](http://blog.primefaces.org/?p=4265) - 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](http://blog.primefaces.org/?p=4251) - 2016/12/19
<!-- ### 新機能 -->

+ p:dataTableにexpandableRowGroups属性を追加
<img src="http://blog.primefaces.org/wp-content/uploads/2016/12/rowgroup.png"/>

<!--
### 改善
+ 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](http://blog.primefaces.org/?p=4234) - 2016/12/14

<!-- ### Row Grouping -->

+ Row Grouping
p:dataTableの行をグルーピング出来るようになりました。p:rowGroupコンポーネントを利用する方法と、p:columnのgrouprRow属性を利用する方法があります。
ソートや集計機能と組み合わせることもできます。
<img src="http://blog.primefaces.org/wp-content/uploads/2016/12/rowgroup.png"/>

+ p:DataTableにcellEditMode属性を追加
+ FontAwesomeを4.7.0にバージョンアップ

<!--
### 改善
+ 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](http://blog.primefaces.org/?p=4216) - 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](http://blog.primefaces.org/?p=4212) - 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](http://blog.primefaces.org/?p=4190) - 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](http://commercebay.de/).
### 新機能
-->

+ [p:organigram](http://www.primefaces.org/showcase/ui/data/organigram.xhtml)
<img src="http://blog.primefaces.org/wp-content/uploads/2016/11/organigram1-1024x679.png"/>
+ 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](http://blog.primefaces.org/?p=4164) - 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](http://blog.primefaces.org/?p=4136) - 2016/10/12
<!-- ### 新機能-->

+ p:treetableがpagenation対応
<img src="http://blog.primefaces.org/wp-content/uploads/2016/10/treetable-paginator.png"/>
+ p:textEditorコンポーネントの追加
<img src="http://blog.primefaces.org/wp-content/uploads/2016/10/editor.png"/>
+ 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](http://blog.primefaces.org/?p=4121) - 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](http://blog.primefaces.org/?p=4100) - 2016/9/12
<!-- ### 新機能 -->
+ p:treeTableにdisabledTextSelection属性を追加
+ SelectCheckboxMenuがScreen Reader対応
+ RowEditorのiconがキーボードアクセス可能に
+ webcamjsを1.0.12にバージョンアップ
+ FontAwesomeを4.6.1から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](http://blog.primefaces.org/?p=4052) - 2016/8/16

<!--### 新機能-->
+ p:commandButtonにrenderDisabledClick属性を追加
+ Datatableのヘッダーがscope=”col”に対応

<!--
### 改善
+ 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
+ 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](http://blog.primefaces.org/?p=4029) - 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](http://blog.primefaces.org/?p=3974) - 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](http://blog.primefaces.org/?p=3949) - 2016/6/7
### 新機能
Various components have been promoted to PrimeFaces from Extensions project as a result of merger. These are;

+ [p:timeLine](http://www.primefaces.org/showcase/ui/data/timeline/basic.xhtml)
+ [p:inputNumber](http://www.primefaces.org/showcase/ui/input/inputNumber.xhtml)
+ [p:keyFilter](http://www.primefaces.org/showcase/ui/input/keyFilter.xhtml)
+ [p:importEnum](http://www.primefaces.org/showcase/ui/misc/importEnum.xhtml)
+ [p:importConstants](http://www.primefaces.org/showcase/ui/misc/importConstants.xhtml)
+ [p:knob](http://www.primefaces.org/showcase/ui/input/knob.xhtml)

<!--
### 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.
-->

## 参考
[PrimeFaces6.0.x リリースノートまとめ - mrdShinse's blog](http://mrdshinse.hatenablog.com/?page=1485787824)