Skip to content

Commit

Permalink
TileView: Improve how tile look like
Browse files Browse the repository at this point in the history
- Implement selected index on Tile (reference #56)
  • Loading branch information
piotrzarzycki21 committed Jun 9, 2024
1 parent 63f03bf commit 42349d4
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -254,8 +254,8 @@
{caption: 'DocumentationUNID', dataField: 'DocumentationUNID', dataType: 'number', alignment: 'left', sortOrder: 'asc', allowFiltering: false, visible: this.proxy.showUnid}]}" dataProvider="{this.proxy.items}"
filterRow="{ {visible: true, applyFilter: 'auto'} }" localId="dg" includeIn="dataGridState" className="dxDataGrid scrollHeightDocFormGridJS" percentWidth="100" doubleClick="onGridDoubleClick(event)"/>-->
<tileView:TileView localId="dg" includeIn="dataGridState" className="tileViewJS"
percentWidth="100" baseItemWidth="200" baseItemHeight="250" itemMargin="5" direction="vertical"
percentWidth="100" baseItemWidth="245" baseItemHeight="300" itemMargin="5" direction="vertical"
itemRenderer="Super.Human.Portal_Royale.views.renderers.DocumentationTileRenderer"/>
<tileView:TileView localId="tileGettingStarted" className="tileViewJS" direction="vertical" includeIn="startview"
percentWidth="100" baseItemHeight="400" itemMargin="10" itemRenderer="Super.Human.Portal_Royale.views.renderers.CardTileRenderer"/>
percentWidth="100" baseItemHeight="350" itemMargin="10" itemRenderer="Super.Human.Portal_Royale.views.renderers.CardTileRenderer"/>
</j:VGroup>
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
}
]]>
</fx:Script>
<j:Card percentHeight="100" percentWidth="100" maxHeight="300" className="cardTile">
<j:Card percentHeight="100" percentWidth="100" className="cardTile">
<j:CardTitle text="{dataVO.title}" className="cardTileTitle" multiline="true" percentWidth="100"/>
<j:CardPrimaryContent itemsHorizontalAlign="itemsCenter" itemsVerticalAlign="itemsCenter" gap="2">
<j:IconButton visible="{dataVO.imageIcon != null}" className="cardTileButtonIcon">
Expand All @@ -37,7 +37,7 @@
</j:IconButton>
<j:Label multiline="true" text="{dataVO.description}"/>
</j:CardPrimaryContent>
<j:CardActions visible="{dataVO.link != null}">
<j:CardActions visible="{dataVO.link != null}" className="cardTileActions">
<j:Button text="See More"/>
</j:CardActions>
</j:Card>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<itemRenderers:TileViewItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:j="library://ns.apache.org/royale/jewel"
xmlns:js="library://ns.apache.org/royale/basic" xmlns:html="library://ns.apache.org/royale/html"
xmlns:itemRenderers="classes.com.devexpress.js.tileView.itemRenderers.*">
xmlns:itemRenderers="classes.com.devexpress.js.tileView.itemRenderers.*" percentHeight="100">
<itemRenderers:beads>
<js:ItemRendererDataBinding />
</itemRenderers:beads>
Expand All @@ -27,7 +27,7 @@
}
]]>
</fx:Script>
<j:Card percentHeight="100" percentWidth="100" maxHeight="300" className="cardTile">
<j:Card percentHeight="100" percentWidth="100" className="cardTile">
<j:CardPrimaryContent itemsHorizontalAlign="itemsCenter" itemsVerticalAlign="itemsCenter" gap="2">
<j:IconButton visible="{dataVO.image == null}" className="cardTileButtonIcon">
<j:icon>
Expand All @@ -37,7 +37,7 @@
<j:Image src="{dataVO.image}" visible="{dataVO.image != null}"/>
<j:Label multiline="true" text="{dataVO.DocumentationName}"/>
</j:CardPrimaryContent>
<j:CardActions visible="{dataVO.showUnid}">
<j:CardActions visible="{dataVO.showUnid}" itemsVerticalAlign="itemsBottom" className="cardTileActions">
<j:Label text="{'DocumentationUNID: ' + dataVO.DocumentationUNID}"/>
</j:CardActions>
</j:Card>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,10 @@ package classes.com.devexpress.js.tileView.beads

window["$"](host.element).dxTileView({
onItemClick: function onItemClick(event:Object):void {
host.dispatchEvent(new TileViewEvent(TileViewEvent.CLICK_ITEM, event.itemData))
host["selectedIndex"] = event.itemIndex;
host["selectedItem"] = event.itemData;

host.dispatchEvent(new TileViewEvent(TileViewEvent.CLICK_ITEM, event.itemData, event.itemIndex));
}});
this._model.addEventListener("dataProviderChanged", handleDataProviderChanged);
this._model.addEventListener("itemRendererChanged", handleItemRendererChanged);
Expand Down Expand Up @@ -81,8 +84,11 @@ package classes.com.devexpress.js.tileView.beads
window["$"](host.element).dxTileView({
itemTemplate: function itemTemplate(itemData:Object, itemIndex:int, itemElement:Object):void {
var renderer:Object = _model.itemRenderer.newInstance();
renderer.index = itemIndex;

var div:View = new View();

div.percentHeight = 100;

renderer.data = itemData;
div.addElement(renderer as IChild);
itemElement.append(div.element);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@ package classes.com.devexpress.js.tileView.beads.models
{
import classes.com.devexpress.js.tileView.interfaces.ITileViewModel;

import org.apache.royale.jewel.beads.models.DataProviderModel;
import org.apache.royale.core.IFactory;
import org.apache.royale.core.ISelectionModel;
import org.apache.royale.jewel.beads.models.DataProviderModel;

public class TileViewModel extends DataProviderModel implements ITileViewModel, ISelectionModel
public class TileViewModel extends DataProviderModel implements ITileViewModel
{
public function TileViewModel()
{
Expand Down Expand Up @@ -116,7 +115,7 @@ package classes.com.devexpress.js.tileView.beads.models
}
}

private var _selectedIndex:int;
private var _selectedIndex:int = -1;

public function get selectedIndex():int
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ package classes.com.devexpress.js.tileView.events
{
public static const CLICK_ITEM:String = "clickItemTileView";

public function TileViewEvent(type:String, item:Object = null)
public function TileViewEvent(type:String, item:Object = null, index:int = -1)
{
super(type);

_item = item;
_index = index;
}

private var _item:Object;
Expand All @@ -19,5 +20,12 @@ package classes.com.devexpress.js.tileView.events
{
return _item;
}

private var _index:int;

public function get index():int
{
return _index;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ package classes.com.devexpress.js.tileView.interfaces
import org.apache.royale.core.IHasDataProvider;
import org.apache.royale.events.IEventDispatcher;
import org.apache.royale.core.IFactory;
import org.apache.royale.core.ISelectionModel;

public interface ITileViewModel extends IHasDataProvider, IEventDispatcher
public interface ITileViewModel extends IHasDataProvider, IEventDispatcher, ISelectionModel
{
function get dataSource():Object;
function set dataSource(value:Object):void;
Expand Down
4 changes: 4 additions & 0 deletions Super.Human.Portal_Royale/src/resources/app-styles.css
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,10 @@ a:hover {
border: none !important;
}

.card-actions.cardTileActions {
borderTop: none !important;
}

.jewel.item.gridJSRendererClean {
border: none;
box-shadow: none;
Expand Down

0 comments on commit 42349d4

Please sign in to comment.