<?script type="text/javascript" src="/js/videojs-ie8.min.js"?>\r
<?script type="text/javascript" src="/js/video.js"?>\r
<?init class="user.jobengine.zk.util.AuthInitiator"?>\r
+\r
<zk xmlns:w="http://www.zkoss.org/2005/zk/client">\r
<!-- csak igy jo a list sebessege -->\r
<custom-attributes org.zkoss.zul.listbox.rod="true" />\r
<custom-attributes org.zkoss.zul.listbox.initRodSize="50" />\r
<custom-attributes org.zkoss.zul.listbox.preloadSize="50" />\r
+ <style>\r
+.myimg {\r
+ margin: 5px; border: 1px solid #CFCFCF;\r
+ cursor: pointer;\r
+}\r
+div.z-row-content span {\r
+ font-family: Tahoma,Arial,serif;\r
+}\r
+.z-row .z-detail-outer {\r
+ padding: 3px 6px;\r
+}\r
+.heavy {\r
+ font-weight:bold;\r
+}\r
+div.z-row-content .rating {\r
+ font-weight:bold;\r
+ color: #0093f9;\r
+}\r
\r
+.details {\r
+ padding: 5px;\r
+ line-height: 1.5em;\r
+}\r
+ </style>\r
<div id="scdiv" width="100%" height="100%" apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('user.jobengine.zk.model.SearchModel')">\r
-\r
-\r
<borderlayout>\r
- <west border="none" size="50%" splittable="true" minsize="250">\r
+ <west border="none" size="60%" splittable="true" minsize="250">\r
<div height="100%" width="100%">\r
<groupbox vflex="min" closable="false">\r
-\r
<textbox style="border:none" instant="true" value="@bind(vm.searchValue)" width="100%"\r
tooltiptext="Gépelje be a keresendő kifejezést és nyomja meg az Enter-t." onOK="@command('doSearch')" />\r
- <toolbar>\r
- <checkbox checked="@bind(vm.allFeedChecked)" />\r
+ <toolbar vflex="min" style="font-size:8px">\r
+ <checkbox checked="@bind(vm.allChecked)" />\r
<toolbarbutton label="Hír bejátszó" mode="toggle" checked="@bind(vm.newsFeedChecked)" />\r
<toolbarbutton label="Hír nyersanyag" mode="toggle" checked="@bind(vm.newsRawChecked)" />\r
<toolbarbutton label="Műsor" mode="toggle" checked="@bind(vm.materialChecked)" />\r
+ <toolbarbutton label="Műsor nyersanyag" mode="toggle" checked="@bind(vm.materialRawChecked)" />\r
<toolbarbutton label="Promo" mode="toggle" checked="@bind(vm.promoChecked)" />\r
+ <toolbarbutton label="Promo nyersanyag" mode="toggle" checked="@bind(vm.promoRawChecked)" />\r
<toolbarbutton label="Reklám" mode="toggle" checked="@bind(vm.adChecked)" />\r
- <toolbarbutton label="Visszarögzített" mode="toggle" checked="@bind(vm.recordingChecked) "/>\r
+ <toolbarbutton label="Reklám nyersanyag" mode="toggle" checked="@bind(vm.adRawChecked)" />\r
+ <toolbarbutton label="Visszarögzített" mode="toggle" checked="@bind(vm.recordingChecked) " />\r
<toolbarbutton label="Egyéb" mode="toggle" checked="@bind(vm.otherChecked)" />\r
</toolbar>\r
</groupbox>\r
- <!-- <grid> -->\r
- <!-- <columns> -->\r
- <!-- <column width="40px" /> -->\r
- <!-- <column hflex="1" label="Name" sort="auto" /> -->\r
- <!-- <column width="150px" label="Price" sort="auto" align="center" /> -->\r
- <!-- <column width="150px" label="Rating" sort="auto" align="center" /> -->\r
- <!-- </columns> -->\r
- <!-- <rows> -->\r
- <!-- <template name="model"> -->\r
- <!-- <row> -->\r
- <!-- <detail open="true"> -->\r
- <!-- <hlayout> -->\r
- <!-- <image sclass="myimg" width="140px" height="90px" src="/widgets/grid/master_detail/img/${img}" /> -->\r
- <!-- <div sclass="details"> -->\r
- <!-- <div> -->\r
- <!-- <label value="Facilities:" /> -->\r
- <!-- <label value="${facilities}" sclass="heavy" /> -->\r
- <!-- </div> -->\r
- <!-- <div> -->\r
- <!-- <label value="Room Type:" /> -->\r
- <!-- <label value="${roomType}" sclass="heavy" /> -->\r
- <!-- </div> -->\r
- <!-- <div> -->\r
- <!-- <label value="Included:" /> -->\r
- <!-- <label value="${included}" sclass="heavy" /> -->\r
- <!-- </div> -->\r
- <!-- <div> -->\r
- <!-- <label value="Nearby:" /> -->\r
- <!-- <label value="${nearby}" sclass="heavy" /> -->\r
- <!-- </div> -->\r
- <!-- <div> -->\r
- <!-- <label value="PaymentOptions:" /> -->\r
- <!-- <label value="${paymentOptions}" sclass="heavy" /> -->\r
- <!-- </div> -->\r
- <!-- </div> -->\r
- <!-- </hlayout> -->\r
- <!-- </detail> -->\r
- <!-- <label value="${name}" /> -->\r
- <!-- <label value="${price}" sclass="price" /> -->\r
- <!-- <label value="${rating}" sclass="rating" /> -->\r
- <!-- </row> -->\r
- <!-- </template> -->\r
- <!-- </rows> -->\r
- <!-- </grid> -->\r
-\r
<groupbox vflex="true" closable="false">\r
- <listbox id="itemResults" sizedByContent="false" span="true" model="@load(vm.searchResult)" activePage="@bind(vm.activePage)" mold="paging" multiple="false" autopaging="true"\r
- vflex="true" selectedItem="@bind(vm.selectedItem)" style="border: none; background: #e3e3e3 !important;" oddRowSclass="listbox-odd-style"\r
- sclass="listbox-normal-style">\r
- <listhead sizable="true">\r
- <listheader label="ID" hflex="1" align="left" />\r
- <listheader label="Cím" hflex="6" align="left" />\r
- </listhead>\r
- <template name="model">\r
- <listitem>\r
- <listcell label="@load(each.media.houseId)" />\r
- <listcell label="@load(each.media.title)" />\r
- </listitem>\r
- </template>\r
- </listbox>\r
+ <grid id="itemResults" sizedByContent="false" span="true" vflex="true" hflex="true" mold="paging" autopaging="false"\r
+ model="@load(vm.searchResult)" activePage="@bind(vm.activePage)" selectedItem="@bind(vm.selectedObject)"\r
+ style="border: none; background: #e3e3e3 !important;" oddRowSclass="listbox-odd-style" sclass="listbox-normal-style" emptyMessage="Nincs találat!">\r
+ <columns>\r
+ <column hflex="min">\r
+ <checkbox checked="@bind(vm.rowsExpanded)"/>\r
+ </column>\r
+ <column label="ID" hflex="min" align="left" />\r
+ <column label="Cím" align="left" />\r
+ <column label="Fájlnév" hflex="min" align="left" />\r
+ <column label="Megtekinthető" hflex="min" align="right" />\r
+ </columns>\r
+ <rows>\r
+ <template name="model">\r
+ <row>\r
+ <detail open="@load(vm.rowsExpanded)">\r
+ <hlayout>\r
+ <image tooltiptext="Kattints a lejátszáshoz!" width="140px" height="90px" sclass="myimg" content="@load(each.media.poster) @converter('user.jobengine.zk.model.ByToImageConverter')" />\r
+ <div sclass="details">\r
+ <div>\r
+ <label value="Típus:" sclass="heavy" />\r
+ <label value="@load(each.media.itemType.name)" />\r
+ </div>\r
+ <div>\r
+ <label value="Gyűjtő:" sclass="heavy" />\r
+ <label value="@load(each.item.title)" />\r
+ </div>\r
+ <div>\r
+ <label value="@load(each.media.description)" maxlength="200" />\r
+ </div>\r
+ </div>\r
+ </hlayout>\r
+ </detail>\r
+ <label value="@load(each.media.houseId)" />\r
+ <label value="@load(each.media.title)" />\r
+ <label value="@load(each.media.houseId)" />\r
+ <checkbox checked="@load(each.media.mediaFilesCount > 1)" w:onCheck="this.setChecked(!this.isChecked())" />\r
+ </row>\r
+ </template>\r
+ </rows>\r
+ </grid>\r
+\r
+\r
</groupbox>\r
</div>\r
</west>\r
\r
<north border="none" size="60%" splittable="true" minsize="250" collapsible="true">\r
<div align="center" height="100%" width="100%">\r
- <!-- <html> -->\r
- <!-- <![CDATA[ -->\r
- <!-- <link href="/css/video-js.css" rel="stylesheet"> -->\r
- <!-- <video id="myVideoDiv" width="100%" height="100%" class="video-js" controls preload="auto" data-setup="{}"> -->\r
- <!-- <source src="@load(vm.lowresMediaFilePath)" type='video/mp4'> -->\r
- <!-- </video> -->\r
- <!-- <script> var player = videojs('myVideoDiv'); </script> -->\r
- <!-- ]]> -->\r
- <!-- </html> -->\r
<iframe id="mediaPlayer" height="100%" width="100%" autohide="false" src="@load(vm.lowresMediaFilePath)"></iframe>\r
</div>\r
</north>\r
<button label="Visszatöltés" onClick="@command('downloadMedia')" autodisable="self" disabled="@load(not vm.hasTSMMediaFile)"\r
sclass="buttonboldfont" />\r
</caption>\r
+\r
<div width="100%" height="100%" style="padding: 4px; overflow:auto; background-color: white">\r
<div>\r
<label style="font-size:8pt; color: gray" value="Anyag azonosító" />\r
<div style="margin: 4px">\r
- <label value="@load(vm.selectedItem.item)" />\r
+ <label value="@load(vm.selectedObject.item.houseId)" />\r
</div>\r
<space bar="false" />\r
</div>\r
<div>\r
<label style="font-size:8pt; color: gray" value="Anyag címe" />\r
<div style="margin: 4px">\r
- <label value="@load(vm.selectedItem.item.title)" />\r
+ <label value="@load(vm.selectedObject.item.title)" />\r
</div>\r
<space bar="false" />\r
</div>\r
<div>\r
<label style="font-size:8pt; color: gray" value="Anyag leírása" />\r
<div style="margin: 4px">\r
- <label value="@load(vm.selectedItem.item.description)" />\r
+ <label value="@load(vm.selectedObject.item.description)" />\r
</div>\r
<space bar="false" />\r
</div>\r
<div>\r
<label style="font-size:8pt; color: gray" value="Média azonosító" />\r
<div style="margin: 4px">\r
- <label value="@load(vm.selectedItem.media.houseId)" />\r
+ <label value="@load(vm.selectedObject.media.houseId)" />\r
</div>\r
<space bar="false" />\r
</div>\r
<div>\r
<label style="font-size:8pt; color: gray" value="Média címe" />\r
<div style="margin: 4px">\r
- <label value="@load(vm.selectedItem.media.title)" />\r
+ <label value="@load(vm.selectedObject.media.title)" />\r
</div>\r
<space bar="false" />\r
</div>\r
<div>\r
<label style="font-size:8pt; color: gray" value="Média leírása" />\r
<div style="margin: 4px">\r
- <label multiline="true" value="@load(vm.selectedItem.getMedia().description)" />\r
+ <label multiline="true" value="@load(vm.selectedObject.media.description)" />\r
</div>\r
</div>\r
</div>\r
--- /dev/null
+package user.jobengine.zk.model;\r
+\r
+import java.io.IOException;\r
+\r
+import org.zkoss.bind.BindContext;\r
+import org.zkoss.bind.Converter;\r
+import org.zkoss.image.AImage;\r
+import org.zkoss.io.Files;\r
+import org.zkoss.zul.Image;\r
+\r
+public class ByToImageConverter implements Converter<AImage, byte[], Image> {\r
+\r
+ private byte[] noImg = null;\r
+\r
+ public ByToImageConverter() {\r
+ try {\r
+ noImg = Files.readAll(getClass().getResourceAsStream("/img/ic_play_big.png"));\r
+ } catch (IOException e) {\r
+ // TODO Auto-generated catch block\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+\r
+ @Override\r
+ public byte[] coerceToBean(AImage compAttr, Image component, BindContext ctx) {\r
+ return compAttr.getByteData();\r
+ }\r
+\r
+ @Override\r
+ public AImage coerceToUi(byte[] beanProp, Image component, BindContext ctx) {\r
+ try {\r
+ if (beanProp != null && beanProp.length > 0) {\r
+ AImage im = new AImage("", beanProp);\r
+ component.setContent(im);\r
+ component.setWidth(im.getWidth() + "px");\r
+ component.setHeight(im.getHeight() + "px");\r
+ return im;\r
+ }\r
+ if (noImg != null && noImg.length > 0) {\r
+ AImage im = new AImage("", noImg);\r
+ component.setContent(im);\r
+ component.setWidth(im.getWidth() + "px");\r
+ component.setHeight(im.getHeight() + "px");\r
+ return im;\r
+ }\r
+ return null;\r
+ } catch (IOException e) {\r
+ return null;\r
+ }\r
+ }\r
+\r
+}\r
\r
private String searchValue = null;\r
private CachedListModel searchResult = null;\r
- private ArchivedMedia selectedItem = null;\r
- private boolean newsFeedChecked;\r
- private boolean allFeedChecked;\r
- private boolean newsRawChecked;\r
- private boolean materialChecked;\r
- private boolean promoChecked;\r
- private boolean adChecked;\r
- private boolean recordingChecked;\r
- private boolean otherChecked;\r
+ private ArchivedMedia selectedObject = null;\r
+ private boolean newsFeedChecked = true;\r
+ private boolean allChecked = true;\r
+ private boolean newsRawChecked = true;\r
+ private boolean materialChecked = true;\r
+ private boolean materialRawChecked = true;\r
+ private boolean promoChecked = true;\r
+ private boolean promoRawChecked = true;\r
+ private boolean adChecked = true;\r
+ private boolean adRawChecked = true;\r
+ private boolean recordingChecked = true;\r
+ private boolean otherChecked = true;\r
private int activePage;\r
+ private boolean rowsExpanded = true;\r
\r
@Command\r
- @NotifyChange({ "activePage", "searchResult", "selectedItem", "hasLowresMediaFile" })\r
+ @NotifyChange({ "activePage", "searchResult", "selectedObject", "hasLowresMediaFile" })\r
public void doSearch() {\r
try {\r
- this.selectedItem = null;\r
+ this.selectedObject = null;\r
if (StringUtils.isBlank(searchValue) || searchValue.length() < 3)\r
throw new Exception("Legalább 3 karakter megadása kötelező!");\r
searchResult = new CachedListModel(searchValue);\r
if (!getHasTSMMediaFile())\r
return;\r
Map<String, Object> arguments = new HashMap<String, Object>();\r
- arguments.put(MEDIACUBEMEDIA, this.selectedItem.getMedia());\r
+ arguments.put(MEDIACUBEMEDIA, this.selectedObject.getMedia());\r
Window window = (Window) Executions.createComponents(PAGES_RETRIEVESELECTOR_ZUL, null, arguments);\r
window.doModal();\r
}\r
}\r
\r
public boolean getHasTSMMediaFile() {\r
- return selectedItem != null;\r
+ return selectedObject != null;\r
}\r
\r
public String getLowresMediaFilePath() throws Exception {\r
\r
private Media getMedia() {\r
Media result = null;\r
- if (searchResult != null && selectedItem != null) {\r
+ if (searchResult != null && selectedObject != null) {\r
IItemManager manager = searchResult.getItemManager();\r
- result = manager.getMedia(selectedItem.getMedia().getId());\r
+ result = manager.getMedia(selectedObject.getMedia().getId());\r
}\r
return result;\r
}\r
return searchValue;\r
}\r
\r
- public ArchivedMedia getSelectedItem() {\r
- return selectedItem;\r
+ public ArchivedMedia getSelectedObject() {\r
+ return selectedObject;\r
}\r
\r
public String getTSMMediaFilePath() throws Exception {\r
return adChecked;\r
}\r
\r
- public boolean isAllFeedChecked() {\r
- return allFeedChecked;\r
+ public boolean isAdRawChecked() {\r
+ return adRawChecked;\r
+ }\r
+\r
+ public boolean isAllChecked() {\r
+ return allChecked;\r
}\r
\r
public boolean isMaterialChecked() {\r
return materialChecked;\r
}\r
\r
+ public boolean isMaterialRawChecked() {\r
+ return materialRawChecked;\r
+ }\r
+\r
public boolean isNewsFeedChecked() {\r
return newsFeedChecked;\r
}\r
return promoChecked;\r
}\r
\r
+ public boolean isPromoRawChecked() {\r
+ return promoRawChecked;\r
+ }\r
+\r
public boolean isRecordingChecked() {\r
return recordingChecked;\r
}\r
\r
+ public boolean isRowsExpanded() {\r
+ return rowsExpanded;\r
+ }\r
+\r
public void setActivePage(int activePage) {\r
this.activePage = activePage;\r
}\r
this.adChecked = adChecked;\r
}\r
\r
- public void setAllFeedChecked(boolean allFeedChecked) {\r
- this.allFeedChecked = allFeedChecked;\r
+ public void setAdRawChecked(boolean adRawChecked) {\r
+ this.adRawChecked = adRawChecked;\r
+ }\r
+\r
+ @NotifyChange({ "newsFeedChecked", "newsRawChecked", "materialChecked", "materialRawChecked", "promoChecked", "promoRawChecked", "adChecked",\r
+ "adRawChecked", "recordingChecked", "otherChecked" })\r
+ public void setAllChecked(boolean allFeedChecked) {\r
+ this.allChecked = allFeedChecked;\r
+ newsFeedChecked = allChecked;\r
+ newsRawChecked = allChecked;\r
+ materialChecked = allChecked;\r
+ materialRawChecked = allChecked;\r
+ promoChecked = allChecked;\r
+ promoRawChecked = allChecked;\r
+ adChecked = allChecked;\r
+ adRawChecked = allChecked;\r
+ recordingChecked = allChecked;\r
+ otherChecked = allChecked;\r
}\r
\r
public void setMaterialChecked(boolean materialChecked) {\r
this.materialChecked = materialChecked;\r
}\r
\r
+ public void setMaterialRawChecked(boolean materialRawChecked) {\r
+ this.materialRawChecked = materialRawChecked;\r
+ }\r
+\r
public void setNewsFeedChecked(boolean newsFeedChecked) {\r
this.newsFeedChecked = newsFeedChecked;\r
}\r
this.promoChecked = promoChecked;\r
}\r
\r
+ public void setPromoRawChecked(boolean promoRawChecked) {\r
+ this.promoRawChecked = promoRawChecked;\r
+ }\r
+\r
public void setRecordingChecked(boolean recordingChecked) {\r
this.recordingChecked = recordingChecked;\r
}\r
\r
+ public void setRowsExpanded(boolean rowsExpanded) {\r
+ this.rowsExpanded = rowsExpanded;\r
+ }\r
+\r
public void setSearchValue(String searchValue) {\r
this.searchValue = searchValue;\r
}\r
\r
- @NotifyChange({ "hasLowresMediaFile", "hasTSMMediaFile", "lowresMediaFilePath", "selectedItem.item" })\r
- public void setSelectedItem(ArchivedMedia selectedItem) {\r
- this.selectedItem = selectedItem;\r
+ @NotifyChange({ "selectedObject", "hasLowresMediaFile", "hasTSMMediaFile", "lowresMediaFilePath" })\r
+ public void setSelectedObject(ArchivedMedia selectedObject) {\r
+ this.selectedObject = selectedObject;\r
}\r
\r
}\r