📄 screenshotsslider.mxml
字号:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:Screenshots="org.flex.backend.screens.account.screenshots.*"
horizontalScrollPolicy="off"
verticalScrollPolicy="off"
creationComplete="creationCompleteHandler(event);">
<mx:Script>
<![CDATA[
//////////////////////////////////////////////////
//import
import flash.events.Event;
import mx.collections.ArrayCollection;
import mx.events.ListEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import org.flex.engine.FlexEngine;
import org.flex.engine.managers.Project;
import org.flex.engine.managers.ProjectScreenshot;
import org.flex.engine.managers.ServiceManager;
import org.flex.events.ScreenshotSliderEvent;
//////////////////////////////////////////////////
//private variables
private var _dataProvider:ArrayCollection;
//////////////////////////////////////////////////
//public variables
public var lastSelectedIndex:uint;
/////////////////////////////////////////////////////////////////////////////
//getter/setter
[Bindable]
public function get dataProvider():ArrayCollection {
return _dataProvider;
}
public function set dataProvider(value:ArrayCollection):void {
_dataProvider = value;
}
////////////////////////////////////////////////////////////////////////////////////
//initialization
private function creationCompleteHandler(event:Event):void {
lastSelectedIndex = 0;
}
//general---------------------------------------------------------------------------------
public function clear():void {
screenshotHorizontalList.dataProvider = null;
}
public function deleteSelectedImage():void {
var selectedItem:ProjectScreenshot = screenshotHorizontalList.selectedItem as ProjectScreenshot;
var flexEngine:FlexEngine = FlexEngine.getInstance();
var serviceManager:ServiceManager = flexEngine.serviceManager;
serviceManager.flexdotorg.addEventListener(ResultEvent.RESULT, deleteScreenshotResultHandler);
serviceManager.flexdotorg.addEventListener(FaultEvent.FAULT, deleteScreenshotFaultHandler);
serviceManager.flexdotorg.deleteScreenshot(selectedItem.projectID, selectedItem.id);
}
//screenshot list-------------------------------------------------------------
private function handleListDrawUpdate(event:Event):void {
if(screenshotHorizontalList.selectedIndex != lastSelectedIndex){
screenshotHorizontalList.selectedIndex = lastSelectedIndex;
}
}
private function screenshotHorizontalListChangeHandler(listEvent:ListEvent):void {
lastSelectedIndex = screenshotHorizontalList.selectedIndex;
}
//default screenshot--------------------------------------------------------------------
public function markSelectedImageAsDefault():void {
var selectedItem:ProjectScreenshot = screenshotHorizontalList.selectedItem as ProjectScreenshot;
var flexEngine:FlexEngine = FlexEngine.getInstance();
var serviceManager:ServiceManager = flexEngine.serviceManager;
serviceManager.flexdotorg.addEventListener(ResultEvent.RESULT, setDefaultScreenshotResultHandler);
serviceManager.flexdotorg.addEventListener(FaultEvent.FAULT, setDefaultScreenshotFaultHandler);
serviceManager.flexdotorg.setDefaultScreenshot(selectedItem.projectID, selectedItem.id);
}
private function setDefaultScreenshotResultHandler(resultEvent:ResultEvent):void {
var flexEngine:FlexEngine = FlexEngine.getInstance();
var serviceManager:ServiceManager = flexEngine.serviceManager;
serviceManager.flexdotorg.removeEventListener(ResultEvent.RESULT, setDefaultScreenshotResultHandler);
serviceManager.flexdotorg.removeEventListener(FaultEvent.FAULT, setDefaultScreenshotFaultHandler);
flexEngine.currentUserProject.load();
}
private function setDefaultScreenshotFaultHandler(faultEvent:FaultEvent):void {
var flexEngine:FlexEngine = FlexEngine.getInstance();
var serviceManager:ServiceManager = flexEngine.serviceManager;
serviceManager.flexdotorg.removeEventListener(ResultEvent.RESULT, setDefaultScreenshotResultHandler);
serviceManager.flexdotorg.removeEventListener(FaultEvent.FAULT, setDefaultScreenshotFaultHandler);
}
//delete screenshot----------------------------------------------------------------------
private function deleteScreenshotResultHandler(resultEvent:ResultEvent):void {
var flexEngine:FlexEngine = FlexEngine.getInstance();
var serviceManager:ServiceManager = flexEngine.serviceManager;
serviceManager.flexdotorg.removeEventListener(ResultEvent.RESULT, deleteScreenshotResultHandler);
serviceManager.flexdotorg.removeEventListener(FaultEvent.FAULT, deleteScreenshotFaultHandler);
flexEngine.currentUserProject.load();
}
private function deleteScreenshotFaultHandler(faultEvent:FaultEvent):void {
var flexEngine:FlexEngine = FlexEngine.getInstance();
var serviceManager:ServiceManager = flexEngine.serviceManager;
serviceManager.flexdotorg.removeEventListener(ResultEvent.RESULT, deleteScreenshotResultHandler);
serviceManager.flexdotorg.removeEventListener(FaultEvent.FAULT, deleteScreenshotFaultHandler);
}
]]>
</mx:Script>
<mx:Image source="@Embed('/assets/images/screenshots_slider_bg.png')" />
<mx:Canvas id="imagesHolder_mc" horizontalScrollPolicy="off" verticalScrollPolicy="off">
<Screenshots:ScreenshotHorizontalList
id="screenshotHorizontalList"
borderStyle="none"
borderThickness="0"
backgroundAlpha="0"
horizontalScrollPolicy="off"
verticalScrollPolicy="off"
useRollOver="false"
dataProvider="{dataProvider}"
itemRenderer="org.flex.backend.screens.account.screenshots.ScreenshotsSliderImage"
change="screenshotHorizontalListChangeHandler(event)"
updateComplete="handleListDrawUpdate(event)"/>
</mx:Canvas>
</mx:Canvas>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -