You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by pe...@apache.org on 2016/12/13 13:39:37 UTC
[1/3] git commit: [flex-asjs] [refs/heads/develop] - Added
DateChooserList to hold the days of the month.
Repository: flex-asjs
Updated Branches:
refs/heads/develop e28de643d -> 2053d408b
Added DateChooserList to hold the days of the month.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/a05642bc
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/a05642bc
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/a05642bc
Branch: refs/heads/develop
Commit: a05642bc6aedac110b90b9e06a00d176e0954442
Parents: a261075
Author: Peter Ent <pe...@apache.org>
Authored: Mon Dec 12 11:28:18 2016 -0500
Committer: Peter Ent <pe...@apache.org>
Committed: Mon Dec 12 11:28:18 2016 -0500
----------------------------------------------------------------------
.../projects/HTML/src/main/flex/HTMLClasses.as | 1 +
.../flex/org/apache/flex/html/DateChooser.as | 1 -
.../apache/flex/html/beads/DateChooserView.as | 202 +++++++++----------
.../controllers/DateChooserMouseController.as | 20 +-
.../flex/html/supportClasses/DateChooserList.as | 38 ++++
.../HTML/src/main/resources/basic-manifest.xml | 1 +
.../HTML/src/main/resources/defaults.css | 11 +
7 files changed, 158 insertions(+), 116 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a05642bc/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
index 23a48a5..ba565a5 100644
--- a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
+++ b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
@@ -175,6 +175,7 @@ internal class HTMLClasses
import org.apache.flex.html.supportClasses.DateChooserButton; DateChooserButton;
import org.apache.flex.html.supportClasses.DateHeaderButton; DateHeaderButton;
import org.apache.flex.html.supportClasses.GraphicsItemRenderer; GraphicsItemRenderer;
+ import org.apache.flex.html.supportClasses.DateChooserList; DateChooserList;
import org.apache.flex.html.beads.TitleBarView; TitleBarView;
import org.apache.flex.html.beads.TitleBarMeasurementBead; TitleBarMeasurementBead;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a05642bc/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
index 62b5a3e..ff5ef28 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/DateChooser.as
@@ -47,7 +47,6 @@ package org.apache.flex.html
public function DateChooser()
{
super();
- className = "DateChooser";
// fix the DateChooser's size
width = 280;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a05642bc/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
index a88c767..5b5dbb5 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
@@ -28,11 +28,12 @@ package org.apache.flex.html.beads
import org.apache.flex.events.Event;
import org.apache.flex.events.IEventDispatcher;
import org.apache.flex.html.Container;
+ import org.apache.flex.html.List;
import org.apache.flex.html.TextButton;
import org.apache.flex.html.beads.layouts.TileLayout;
import org.apache.flex.html.beads.models.DateChooserModel;
- import org.apache.flex.html.supportClasses.DateChooserButton;
import org.apache.flex.html.supportClasses.DateHeaderButton;
+ import org.apache.flex.html.supportClasses.DateChooserList;
/**
* The DateChooserView class is a view bead for the DateChooser. This class
@@ -54,43 +55,34 @@ package org.apache.flex.html.beads
{
}
- /**
- * @copy org.apache.flex.core.IBead#strand
- *
- * @langversion 3.0
- * @playerversion Flash 10.2
- * @playerversion AIR 2.6
- * @productversion FlexJS 0.0
- */
override public function set strand(value:IStrand):void
{
super.strand = value;
- _strand = value;
-
- // make sure there is a model.
+
model = _strand.getBeadByType(IBeadModel) as DateChooserModel;
if (model == null) {
model = new (ValuesManager.valuesImpl.getValue(_strand,"iBeadModel")) as DateChooserModel;
}
model.addEventListener("displayedMonthChanged",handleModelChange);
model.addEventListener("displayedYearChanged",handleModelChange);
-
+
var host:UIBase = value as UIBase;
host.addEventListener("widthChanged", handleSizeChange);
host.addEventListener("heightChanged", handleSizeChange);
-
+
createChildren();
layoutContents();
}
-
+
+ private var model:DateChooserModel;
+
private var _prevMonthButton:DateHeaderButton;
private var _nextMonthButton:DateHeaderButton;
- private var _dayButtons:Array;
private var monthLabel:DateHeaderButton;
- private var dayContainer:Container;
-
- private var model:DateChooserModel;
-
+ private var daysContainer:List;
+
+ private var _dayNames:Array;
+
/**
* The button that causes the previous month to be displayed by the DateChooser.
*
@@ -103,7 +95,7 @@ package org.apache.flex.html.beads
{
return _prevMonthButton;
}
-
+
/**
* The button that causes the next month to be displayed by the DateChooser.
*
@@ -116,48 +108,27 @@ package org.apache.flex.html.beads
{
return _nextMonthButton;
}
-
+
+ public function get dayList():List
+ {
+ return daysContainer;
+ }
+
/**
* The array of DateChooserButton instances that represent each day of the month.
*/
- public function get dayButtons():Array
+
+ public function get dayNames():Array
{
- return _dayButtons;
+ return _dayNames;
}
-
+
private function handleSizeChange(event:Event):void
{
layoutContents();
}
-
- private function layoutContents():void
- {
- var sw:Number = UIBase(_strand).width;
- var sh:Number = UIBase(_strand).height;
-
- _prevMonthButton.x = 0;
- _prevMonthButton.y = 0;
-
- _nextMonthButton.x = sw - _nextMonthButton.width;
- _nextMonthButton.y = 0;
-
- monthLabel.x = _prevMonthButton.x + _prevMonthButton.width;
- monthLabel.y = 0;
- monthLabel.width = sw - _prevMonthButton.width - _nextMonthButton.width;
-
- dayContainer.x = 0;
- dayContainer.y = monthLabel.y + monthLabel.height + 4;
- dayContainer.width = sw;
- dayContainer.height = sh - (monthLabel.height+5);
-
- COMPILE::SWF {
- displayBackgroundAndBorder(_strand as UIBase);
- }
-
- IEventDispatcher(_strand).dispatchEvent( new Event("layoutNeeded") );
- IEventDispatcher(dayContainer).dispatchEvent( new Event("layoutNeeded") );
- }
-
+
+
/**
* @private
*/
@@ -168,49 +139,70 @@ package org.apache.flex.html.beads
_prevMonthButton.height = 20;
_prevMonthButton.text = "<";
UIBase(_strand).addElement(_prevMonthButton);
-
+
_nextMonthButton = new DateHeaderButton();
_nextMonthButton.width = 40;
_nextMonthButton.height = 20;
_nextMonthButton.text = ">";
UIBase(_strand).addElement(_nextMonthButton);
-
+
monthLabel = new DateHeaderButton();
monthLabel.text = "Month Here";
monthLabel.width = 100;
monthLabel.height = 20;
UIBase(_strand).addElement(monthLabel);
-
- dayContainer = new Container();
- dayContainer.className = "DayContainer";
- var tileLayout:TileLayout = new TileLayout();
- dayContainer.addBead(tileLayout);
- UIBase(_strand).addElement(dayContainer, false);
-
- tileLayout.numColumns = 7;
-
+
+ daysContainer = new DateChooserList();
+ UIBase(_strand).addElement(daysContainer, false);
+
+ //tileLayout.numColumns = 7;
+
+ _dayNames = new Array();
+
// the calendar has 7 columns with 6 rows, the first row are the day names
for(var i:int=0; i < 7; i++) {
- var dayName:DateChooserButton = new DateChooserButton();
- dayName.text = model.dayNames[i];
- dayName.dayOfMonth = 0;
- dayContainer.addElement(dayName, false);
+ dayNames.push(model.dayNames[i]);
}
-
- _dayButtons = new Array();
-
+
for(i=0; i < 42; i++) {
- var date:DateChooserButton = new DateChooserButton();
- date.text = String(i+1);
- dayContainer.addElement(date, false);
- dayButtons.push(date);
+ dayNames.push(String(i+1));
}
-
- IEventDispatcher(dayContainer).dispatchEvent( new Event("itemsCreated") );
-
+
+ IEventDispatcher(daysContainer).dispatchEvent( new Event("itemsCreated") );
+
updateCalendar();
}
-
+
+ private function layoutContents():void
+ {
+ var sw:Number = UIBase(_strand).width;
+ var sh:Number = UIBase(_strand).height;
+
+ _prevMonthButton.x = 0;
+ _prevMonthButton.y = 0;
+
+ _nextMonthButton.x = sw - _nextMonthButton.width;
+ _nextMonthButton.y = 0;
+
+ monthLabel.x = _prevMonthButton.x + _prevMonthButton.width;
+ monthLabel.y = 0;
+ monthLabel.width = sw - _prevMonthButton.width - _nextMonthButton.width;
+
+ daysContainer.x = 0;
+ daysContainer.y = monthLabel.y + monthLabel.height + 4;
+ daysContainer.width = sw;
+ daysContainer.height = sh - (monthLabel.height+5);
+
+ daysContainer.dataProvider = dayNames;
+
+ COMPILE::SWF {
+ displayBackgroundAndBorder(_strand as UIBase);
+ }
+
+ IEventDispatcher(_strand).dispatchEvent( new Event("layoutNeeded") );
+ IEventDispatcher(daysContainer).dispatchEvent( new Event("layoutNeeded") );
+ }
+
/**
* @private
*/
@@ -218,52 +210,40 @@ package org.apache.flex.html.beads
{
monthLabel.text = model.monthNames[model.displayedMonth] + " " +
String(model.displayedYear);
-
+
var firstDay:Date = new Date(model.displayedYear,model.displayedMonth,1);
-
+
// blank out the labels for the first firstDay.day-1 entries.
for(var i:int=0; i < firstDay.getDay(); i++) {
- var dateButton:DateChooserButton = dayButtons[i] as DateChooserButton;
- dateButton.dayOfMonth = -1;
- dateButton.text = "";
+ dayNames[i+7] = "";
}
-
+
// flag today
var today:Date = new Date();
-
+
// renumber to the last day of the month
var dayNumber:int = 1;
var numDays:Number = numberOfDaysInMonth(model.displayedMonth, model.displayedYear);
-
- for(; i < dayButtons.length && dayNumber <= numDays; i++) {
- dateButton = dayButtons[i] as DateChooserButton;
- dateButton.dayOfMonth = dayNumber;
- dateButton.text = String(dayNumber++);
-
- if (model.displayedMonth == today.getMonth() &&
- model.displayedYear == today.getFullYear() &&
- (dayNumber-1) == today.getDate()) {
- dateButton.id = "todayDateChooserButton";
- } else {
- dateButton.id = "";
- }
+
+ for(; i < dayNames.length-7 && dayNumber <= numDays; i++) {
+ dayNames[i+7] = String(dayNumber++);
}
-
+
// blank out the rest
- for(; i < dayButtons.length; i++) {
- dateButton = dayButtons[i] as DateChooserButton;
- dateButton.dayOfMonth = -1;
- dateButton.text = "";
+ for(; i < dayNames.length-7; i++) {
+ dayNames[i+7] = "";
}
+
+ daysContainer.dataProvider = dayNames;
}
-
+
/**
* @private
*/
private function numberOfDaysInMonth(month:Number, year:Number):Number
{
var n:int;
-
+
if (month == 1) // Feb
{
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) // leap year
@@ -271,16 +251,16 @@ package org.apache.flex.html.beads
else
n = 28;
}
-
+
else if (month == 3 || month == 5 || month == 8 || month == 10)
n = 30;
-
+
else
n = 31;
-
+
return n;
}
-
+
/**
* @private
*/
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a05642bc/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
index 26c17fe..1b8b86b 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
@@ -21,6 +21,7 @@ package org.apache.flex.html.beads.controllers
import org.apache.flex.html.beads.DateChooserView;
import org.apache.flex.html.beads.models.DateChooserModel;
import org.apache.flex.html.supportClasses.DateChooserButton;
+ import org.apache.flex.html.supportClasses.DateChooserList;
import org.apache.flex.core.IBeadController;
import org.apache.flex.core.IBeadModel;
@@ -72,10 +73,11 @@ package org.apache.flex.html.beads.controllers
view.prevMonthButton.addEventListener("click", prevMonthClickHandler);
view.nextMonthButton.addEventListener("click", nextMonthClickHandler);
- var dayButtons:Array = view.dayButtons;
- for(var i:int=0; i < dayButtons.length; i++) {
- IEventDispatcher(dayButtons[i]).addEventListener("click", dayButtonClickHandler);
- }
+ IEventDispatcher(view.dayList).addEventListener("change", listHandler);
+// var dayButtons:Array = view.dayButtons;
+// for(var i:int=0; i < dayButtons.length; i++) {
+// IEventDispatcher(dayButtons[i]).addEventListener("click", dayButtonClickHandler);
+// }
}
/**
@@ -110,6 +112,16 @@ package org.apache.flex.html.beads.controllers
model.displayedYear = year;
}
+ private function listHandler(event:Event):void
+ {
+ var list:DateChooserList = event.target as DateChooserList;
+ var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
+ var newDate:Date = new Date(model.displayedYear,model.displayedMonth,list.selectedIndex-7);
+
+ model.selectedDate = newDate;
+ IEventDispatcher(_strand).dispatchEvent( new Event("change") );
+ }
+
/**
* @private
*/
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a05642bc/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as
new file mode 100644
index 0000000..75c32e1
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserList.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.supportClasses
+{
+ import org.apache.flex.html.List;
+ import org.apache.flex.html.supportClasses.Viewport;
+ import org.apache.flex.html.beads.layouts.TileLayout;
+
+ public class DateChooserList extends List
+ {
+ public function DateChooserList()
+ {
+ super();
+
+ addBead(new Viewport());
+
+ var tileLayout:TileLayout = new TileLayout();
+ tileLayout.numColumns = 7;
+ addBead(tileLayout);
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a05642bc/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/resources/basic-manifest.xml b/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
index 36570e5..2bc645d 100644
--- a/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
@@ -122,6 +122,7 @@
<component id="TextItemRendererFactoryForStringVectorData" class="org.apache.flex.html.beads.TextItemRendererFactoryForStringVectorData" />
<component id="DateChooser" class="org.apache.flex.html.DateChooser"/>
+ <component id="DateChooserList" class="org.apache.flex.html.supportClasses.DateChooserList" />
<component id="DateField" class="org.apache.flex.html.DateField"/>
<component id="VerticalColumnLayout" class="org.apache.flex.html.beads.layouts.VerticalColumnLayout" />
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a05642bc/frameworks/projects/HTML/src/main/resources/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/resources/defaults.css b/frameworks/projects/HTML/src/main/resources/defaults.css
index 2f88cca..667c0fd 100644
--- a/frameworks/projects/HTML/src/main/resources/defaults.css
+++ b/frameworks/projects/HTML/src/main/resources/defaults.css
@@ -201,6 +201,17 @@ DateChooser {
height: 240px;
}
+DateChooserList {
+ IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+ IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+ border-style: solid;
+ border-radius: 4px;
+ border-color: #0000DD;
+ border-width: 1px;
+ background-color: #DDDDFF;
+}
+
DateField {
IBeadView: ClassReference("org.apache.flex.html.beads.DateFieldView");
IBeadModel: ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
[3/3] git commit: [flex-asjs] [refs/heads/develop] - Updates to
DateChooser to make it look and work better on both platforms.
Posted by pe...@apache.org.
Updates to DateChooser to make it look and work better on both platforms.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/2053d408
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/2053d408
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/2053d408
Branch: refs/heads/develop
Commit: 2053d408b467f7eaf7acff7f051a9882ec58c5ad
Parents: 3a741f1
Author: Peter Ent <pe...@apache.org>
Authored: Tue Dec 13 08:36:04 2016 -0500
Committer: Peter Ent <pe...@apache.org>
Committed: Tue Dec 13 08:36:04 2016 -0500
----------------------------------------------------------------------
.../html/accessories/DateFormatMMDDYYYYBead.as | 21 ++--
.../projects/HTML/src/main/flex/HTMLClasses.as | 1 +
.../apache/flex/html/beads/DateChooserView.as | 100 ++++++-------------
.../controllers/DateChooserMouseController.as | 26 +----
.../flex/html/beads/models/DateChooserModel.as | 6 +-
.../html/supportClasses/DateChooserHeader.as | 66 ++++++++++++
.../html/supportClasses/DateItemRenderer.as | 90 +++++++++++++++++
.../html/supportClasses/DayNameItemRenderer.as | 85 ++++++++++++++++
.../html/supportClasses/StringItemRenderer.as | 2 +-
.../HTML/src/main/resources/basic-manifest.xml | 3 +
.../HTML/src/main/resources/defaults.css | 53 ++++++++--
11 files changed, 339 insertions(+), 114 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2053d408/frameworks/projects/Formatters/src/main/flex/org/apache/flex/html/accessories/DateFormatMMDDYYYYBead.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Formatters/src/main/flex/org/apache/flex/html/accessories/DateFormatMMDDYYYYBead.as b/frameworks/projects/Formatters/src/main/flex/org/apache/flex/html/accessories/DateFormatMMDDYYYYBead.as
index 94d7f20..682eaaa 100644
--- a/frameworks/projects/Formatters/src/main/flex/org/apache/flex/html/accessories/DateFormatMMDDYYYYBead.as
+++ b/frameworks/projects/Formatters/src/main/flex/org/apache/flex/html/accessories/DateFormatMMDDYYYYBead.as
@@ -139,19 +139,18 @@ package org.apache.flex.html.accessories
private function handleTextChange(event:Event):void
{
var model:IDateChooserModel = IStrandWithModel(_strand).model as IDateChooserModel;
- /*var view:DateFieldView = _strand.getBeadByType(DateFieldView) as DateFieldView;
- var input:TextInput = view.textInput;*/
var d:Date = model.selectedDate;
- var month:String = String(d.getMonth()+1);
- if (Number(month)<10) month = "0"+month;
- var date:String = String(d.getDate());
- if (Number(date)<10) date = "0"+date;
- var fmt:String = month+"/"+date+"/"+String(d.getFullYear());
- /*input.text = fmt;*/
- _formattedResult = month+"/"+date+"/"+String(d.getFullYear());
-
- dispatchEvent( new Event("formatChanged") );
+ if (d != null) {
+ var month:String = String(d.getMonth()+1);
+ if (Number(month)<10) month = "0"+month;
+ var date:String = String(d.getDate());
+ if (Number(date)<10) date = "0"+date;
+ var fmt:String = month+"/"+date+"/"+String(d.getFullYear());
+ _formattedResult = month+"/"+date+"/"+String(d.getFullYear());
+
+ dispatchEvent( new Event("formatChanged") );
+ }
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2053d408/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
index ba565a5..077bd88 100644
--- a/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
+++ b/frameworks/projects/HTML/src/main/flex/HTMLClasses.as
@@ -174,6 +174,7 @@ internal class HTMLClasses
import org.apache.flex.html.supportClasses.DataGridColumn; DataGridColumn;
import org.apache.flex.html.supportClasses.DateChooserButton; DateChooserButton;
import org.apache.flex.html.supportClasses.DateHeaderButton; DateHeaderButton;
+ import org.apache.flex.html.supportClasses.DateItemRenderer; DateItemRenderer;
import org.apache.flex.html.supportClasses.GraphicsItemRenderer; GraphicsItemRenderer;
import org.apache.flex.html.supportClasses.DateChooserList; DateChooserList;
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2053d408/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
index 5b5dbb5..c8a9ad4 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/DateChooserView.as
@@ -30,9 +30,11 @@ package org.apache.flex.html.beads
import org.apache.flex.html.Container;
import org.apache.flex.html.List;
import org.apache.flex.html.TextButton;
+ import org.apache.flex.html.beads.layouts.HorizontalLayout;
import org.apache.flex.html.beads.layouts.TileLayout;
import org.apache.flex.html.beads.models.DateChooserModel;
import org.apache.flex.html.supportClasses.DateHeaderButton;
+ import org.apache.flex.html.supportClasses.DateChooserHeader;
import org.apache.flex.html.supportClasses.DateChooserList;
/**
@@ -79,9 +81,11 @@ package org.apache.flex.html.beads
private var _prevMonthButton:DateHeaderButton;
private var _nextMonthButton:DateHeaderButton;
private var monthLabel:DateHeaderButton;
- private var daysContainer:List;
+ private var dayNamesContainer:DateChooserHeader;
+ private var daysContainer:DateChooserList;
private var _dayNames:Array;
+ private var _days:Array;
/**
* The button that causes the previous month to be displayed by the DateChooser.
@@ -114,15 +118,6 @@ package org.apache.flex.html.beads
return daysContainer;
}
- /**
- * The array of DateChooserButton instances that represent each day of the month.
- */
-
- public function get dayNames():Array
- {
- return _dayNames;
- }
-
private function handleSizeChange(event:Event):void
{
layoutContents();
@@ -152,20 +147,17 @@ package org.apache.flex.html.beads
monthLabel.height = 20;
UIBase(_strand).addElement(monthLabel);
+ dayNamesContainer = new DateChooserHeader();
+ UIBase(_strand).addElement(dayNamesContainer, false);
+
daysContainer = new DateChooserList();
UIBase(_strand).addElement(daysContainer, false);
-
- //tileLayout.numColumns = 7;
-
+
_dayNames = new Array();
// the calendar has 7 columns with 6 rows, the first row are the day names
for(var i:int=0; i < 7; i++) {
- dayNames.push(model.dayNames[i]);
- }
-
- for(i=0; i < 42; i++) {
- dayNames.push(String(i+1));
+ _dayNames.push(model.dayNames[i]);
}
IEventDispatcher(daysContainer).dispatchEvent( new Event("itemsCreated") );
@@ -188,16 +180,19 @@ package org.apache.flex.html.beads
monthLabel.y = 0;
monthLabel.width = sw - _prevMonthButton.width - _nextMonthButton.width;
+ dayNamesContainer.x = 0;
+ dayNamesContainer.y = monthLabel.y + monthLabel.height;
+ dayNamesContainer.width = sw;
+ dayNamesContainer.height = monthLabel.height;
+
+ dayNamesContainer.dataProvider = _dayNames;
+
daysContainer.x = 0;
- daysContainer.y = monthLabel.y + monthLabel.height + 4;
+ daysContainer.y = dayNamesContainer.y + dayNamesContainer.height;
daysContainer.width = sw;
- daysContainer.height = sh - (monthLabel.height+5);
-
- daysContainer.dataProvider = dayNames;
+ daysContainer.height = sh - monthLabel.height - dayNamesContainer.height;
- COMPILE::SWF {
- displayBackgroundAndBorder(_strand as UIBase);
- }
+ daysContainer.dataProvider = _days;
IEventDispatcher(_strand).dispatchEvent( new Event("layoutNeeded") );
IEventDispatcher(daysContainer).dispatchEvent( new Event("layoutNeeded") );
@@ -213,28 +208,27 @@ package org.apache.flex.html.beads
var firstDay:Date = new Date(model.displayedYear,model.displayedMonth,1);
+ _days = new Array(42);
+
// blank out the labels for the first firstDay.day-1 entries.
for(var i:int=0; i < firstDay.getDay(); i++) {
- dayNames[i+7] = "";
+ _days[i] = null;
}
- // flag today
- var today:Date = new Date();
-
// renumber to the last day of the month
var dayNumber:int = 1;
var numDays:Number = numberOfDaysInMonth(model.displayedMonth, model.displayedYear);
- for(; i < dayNames.length-7 && dayNumber <= numDays; i++) {
- dayNames[i+7] = String(dayNumber++);
+ for(; i < _days.length && dayNumber <= numDays; i++) {
+ _days[i] = new Date(model.displayedYear, model.displayedMonth, dayNumber++);
}
// blank out the rest
- for(; i < dayNames.length-7; i++) {
- dayNames[i+7] = "";
+ for(; i < _days.length; i++) {
+ _days[i] = null;
}
- daysContainer.dataProvider = dayNames;
+ daysContainer.dataProvider = _days;
}
/**
@@ -268,43 +262,5 @@ package org.apache.flex.html.beads
{
updateCalendar();
}
-
- /**
- * @private
- */
- COMPILE::SWF
- protected function displayBackgroundAndBorder(host:UIBase) : void
- {
- var backgroundColor:Object = ValuesManager.valuesImpl.getValue(host, "background-color");
- var backgroundImage:Object = ValuesManager.valuesImpl.getValue(host, "background-image");
- if (backgroundColor != null || backgroundImage != null)
- {
- if (host.getBeadByType(IBackgroundBead) == null)
- var c:Class = ValuesManager.valuesImpl.getValue(host, "iBackgroundBead");
- if (c) {
- host.addBead( new c() as IBead );
- }
- }
-
- var borderStyle:String;
- var borderStyles:Object = ValuesManager.valuesImpl.getValue(host, "border");
- if (borderStyles is Array)
- {
- borderStyle = borderStyles[1];
- }
- if (borderStyle == null)
- {
- borderStyle = ValuesManager.valuesImpl.getValue(host, "border-style") as String;
- }
- if (borderStyle != null && borderStyle != "none")
- {
- if (host.getBeadByType(IBorderBead) == null) {
- c = ValuesManager.valuesImpl.getValue(host, "iBorderBead");
- if (c) {
- host.addBead( new c() as IBead );
- }
- }
- }
- }
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2053d408/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
index 1b8b86b..a43ca7a 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/controllers/DateChooserMouseController.as
@@ -74,10 +74,6 @@ package org.apache.flex.html.beads.controllers
view.nextMonthButton.addEventListener("click", nextMonthClickHandler);
IEventDispatcher(view.dayList).addEventListener("change", listHandler);
-// var dayButtons:Array = view.dayButtons;
-// for(var i:int=0; i < dayButtons.length; i++) {
-// IEventDispatcher(dayButtons[i]).addEventListener("click", dayButtonClickHandler);
-// }
}
/**
@@ -86,6 +82,7 @@ package org.apache.flex.html.beads.controllers
private function prevMonthClickHandler(event:MouseEvent):void
{
var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
+
var month:Number = model.displayedMonth - 1;
var year:Number = model.displayedYear;
if (month < 0) {
@@ -102,6 +99,7 @@ package org.apache.flex.html.beads.controllers
private function nextMonthClickHandler(event:MouseEvent):void
{
var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
+
var month:Number = model.displayedMonth + 1;
var year:Number = model.displayedYear;
if (month >= 12) {
@@ -115,25 +113,9 @@ package org.apache.flex.html.beads.controllers
private function listHandler(event:Event):void
{
var list:DateChooserList = event.target as DateChooserList;
- var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
- var newDate:Date = new Date(model.displayedYear,model.displayedMonth,list.selectedIndex-7);
-
- model.selectedDate = newDate;
+ var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
+ model.selectedDate = list.selectedItem as Date;
IEventDispatcher(_strand).dispatchEvent( new Event("change") );
}
-
- /**
- * @private
- */
- private function dayButtonClickHandler(event:MouseEvent):void
- {
- var dateButton:DateChooserButton = event.target as DateChooserButton;
- if (dateButton.dayOfMonth > 0) {
- var model:DateChooserModel = _strand.getBeadByType(IBeadModel) as DateChooserModel;
- var newDate:Date = new Date(model.displayedYear,model.displayedMonth,dateButton.dayOfMonth);
- model.selectedDate = newDate;
- IEventDispatcher(_strand).dispatchEvent( new Event("change") );
- }
- }
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2053d408/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
index 4b6fc18..2132cc7 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/beads/models/DateChooserModel.as
@@ -181,8 +181,10 @@ package org.apache.flex.html.beads.models
_selectedDate = value;
dispatchEvent( new Event("selectedDateChanged") );
- displayedMonth = value.getMonth();
- displayedYear = value.getFullYear();
+ if (value != null) {
+ displayedMonth = value.getMonth();
+ displayedYear = value.getFullYear();
+ }
}
}
}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2053d408/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
new file mode 100644
index 0000000..775a140
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateChooserHeader.as
@@ -0,0 +1,66 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.supportClasses
+{
+ import org.apache.flex.html.DataContainer;
+ import org.apache.flex.html.beads.layouts.TileLayout;
+
+ /**
+ * The DateChooserHeader is the container for the days of the week labels
+ * in the DateChooser.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class DateChooserHeader extends DataContainer
+ {
+ /**
+ * Constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function DateChooserHeader()
+ {
+ super();
+
+ tileLayout = new TileLayout();
+ tileLayout.numColumns = 7;
+ addBead(tileLayout);
+ }
+
+ /**
+ * @private
+ */
+ private var tileLayout:TileLayout;
+
+ /**
+ * @private
+ */
+ override public function set height(value:Number):void
+ {
+ super.height = value;
+ tileLayout.rowHeight = value;
+ }
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2053d408/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as
new file mode 100644
index 0000000..f450c37
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DateItemRenderer.as
@@ -0,0 +1,90 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.supportClasses
+{
+ COMPILE::SWF
+ {
+ import flash.text.TextFieldAutoSize;
+ import flash.text.TextFieldType;
+
+ import org.apache.flex.core.CSSTextField;
+ }
+ import org.apache.flex.events.Event;
+
+ /**
+ * The DateItemRenderer class renders date values for the DateChooser.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class DateItemRenderer extends StringItemRenderer
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function DateItemRenderer()
+ {
+ super();
+
+ className = "DateItemRenderer";
+ }
+
+ /**
+ * Sets the data value and uses the String version of the data for display.
+ *
+ * @param Object data The object being displayed by the itemRenderer instance.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ override public function set data(value:Object):void
+ {
+ super.data = value;
+
+ COMPILE::SWF {
+ textField.autoSize = TextFieldAutoSize.CENTER;
+ }
+
+ if (value is Date) {
+ this.text = String( (value as Date).getDate() );
+ } else {
+ this.text = "";
+ }
+ }
+
+ /**
+ * @private
+ */
+ COMPILE::JS
+ override public function set height(value:Number):void
+ {
+ super.height = value;
+ element.style["line-height"] = String(value)+"px";
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2053d408/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as
new file mode 100644
index 0000000..ebe86f4
--- /dev/null
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DayNameItemRenderer.as
@@ -0,0 +1,85 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+// Licensed to the Apache Software Foundation (ASF) under one or more
+// contributor license agreements. See the NOTICE file distributed with
+// this work for additional information regarding copyright ownership.
+// The ASF licenses this file to You under the Apache License, Version 2.0
+// (the "License"); you may not use this file except in compliance with
+// the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+////////////////////////////////////////////////////////////////////////////////
+package org.apache.flex.html.supportClasses
+{
+ COMPILE::SWF
+ {
+ import flash.text.TextFieldAutoSize;
+ import flash.text.TextFieldType;
+
+ import org.apache.flex.core.CSSTextField;
+ }
+ import org.apache.flex.events.Event;
+
+ /**
+ * The DayNameItemRenderer class renders the names of days of the week
+ * for the DateChooser.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public class DayNameItemRenderer extends StringItemRenderer
+ {
+ /**
+ * constructor.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ public function DayNameItemRenderer()
+ {
+ super();
+
+ className = "DayNameItemRenderer";
+ }
+
+ /**
+ * Sets the data value and uses the String version of the data for display.
+ *
+ * @param Object data The object being displayed by the itemRenderer instance.
+ *
+ * @langversion 3.0
+ * @playerversion Flash 10.2
+ * @playerversion AIR 2.6
+ * @productversion FlexJS 0.0
+ */
+ override public function set data(value:Object):void
+ {
+ super.data = value;
+
+ COMPILE::SWF {
+ textField.autoSize = TextFieldAutoSize.CENTER;
+ }
+ }
+
+ /**
+ * @private
+ */
+ COMPILE::JS
+ override public function set height(value:Number):void
+ {
+ super.height = value;
+ element.style["line-height"] = String(value)+"px";
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2053d408/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
index 2ff3cbf..aa00f50 100644
--- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
+++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/StringItemRenderer.as
@@ -162,7 +162,7 @@ package org.apache.flex.html.supportClasses
COMPILE::JS
override protected function createElement():WrappedHTMLElement
{
- element = document.createElement('div') as WrappedHTMLElement;
+ element = document.createElement('span') as WrappedHTMLElement;
positioner = element;
positioner.style.position = 'relative';
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2053d408/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/resources/basic-manifest.xml b/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
index 0692e90..4dd7875 100644
--- a/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
+++ b/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
@@ -82,6 +82,8 @@
<component id="DataItemRenderer" class="org.apache.flex.html.supportClasses.DataItemRenderer"/>
<component id="MXMLItemRenderer" class="org.apache.flex.html.supportClasses.MXMLItemRenderer"/>
<component id="ButtonBarButtonItemRenderer" class="org.apache.flex.html.supportClasses.ButtonBarButtonItemRenderer"/>
+ <component id="DateItemRenderer" class="org.apache.flex.html.supportClasses.DateItemRenderer"/>
+ <component id="DayNameItemRenderer" class="org.apache.flex.html.supportClasses.DayNameItemRenderer"/>
<!--
<component id="TextFieldItemRenderer" class="org.apache.flex.html.supportClasses.TextFieldItemRenderer"/>
<component id="HScrollBar" class="org.apache.flex.html.supportClasses.HScrollBar"/>
@@ -123,6 +125,7 @@
<component id="DateChooser" class="org.apache.flex.html.DateChooser"/>
<component id="DateChooserList" class="org.apache.flex.html.supportClasses.DateChooserList" />
+ <component id="DateChooserHeader" class="org.apache.flex.html.supportClasses.DateChooserHeader" />
<component id="DateField" class="org.apache.flex.html.DateField"/>
<component id="VerticalColumnLayout" class="org.apache.flex.html.beads.layouts.VerticalColumnLayout" />
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/2053d408/frameworks/projects/HTML/src/main/resources/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/HTML/src/main/resources/defaults.css b/frameworks/projects/HTML/src/main/resources/defaults.css
index 667c0fd..24bc5c7 100644
--- a/frameworks/projects/HTML/src/main/resources/defaults.css
+++ b/frameworks/projects/HTML/src/main/resources/defaults.css
@@ -193,25 +193,47 @@ DataGridColumnList {
border-color: #333333;
}
+/* DateChooser */
+
DateChooser {
IBeadView: ClassReference("org.apache.flex.html.beads.DateChooserView");
IBeadModel: ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
IBeadController: ClassReference("org.apache.flex.html.beads.controllers.DateChooserMouseController");
width: 280px;
- height: 240px;
+ height: 230px;
}
DateChooserList {
- IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.TextItemRendererFactoryForArrayData");
+ IDataProviderItemRendererMapper: ClassReference("org.apache.flex.html.beads.DataItemRendererFactoryForArrayData");
IItemRendererClassFactory: ClassReference("org.apache.flex.core.ItemRendererClassFactory");
- IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.StringItemRenderer");
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DateItemRenderer");
border-style: solid;
- border-radius: 4px;
- border-color: #0000DD;
+ border-color: #000000;
border-width: 1px;
- background-color: #DDDDFF;
+ background-color: #FFFFFF;
+}
+
+DateChooserHeader {
+ IItemRenderer: ClassReference("org.apache.flex.html.supportClasses.DayNameItemRenderer");
+ border-style: solid;
+ border-color: #000000;
+ border-width: 1px;
+ background-color: #FFFFFF;
+}
+
+DateItemRenderer
+{
+ IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
+ text-align: center;
+}
+
+DayNameItemRenderer
+{
+ text-align: center;
}
+/* DateField */
+
DateField {
IBeadView: ClassReference("org.apache.flex.html.beads.DateFieldView");
IBeadModel: ClassReference("org.apache.flex.html.beads.models.DateChooserModel");
@@ -219,6 +241,8 @@ DateField {
IFormatBead: ClassReference("org.apache.flex.html.accessories.DateFormatMMDDYYYYBead");
}
+/* RangeStepper */
+
RangeStepper {
IBeadView: ClassReference("org.apache.flex.html.beads.RangeStepperView");
IBeadModel: ClassReference("org.apache.flex.html.beads.models.RangeModelExtended");
@@ -544,6 +568,23 @@ global
iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
}
+ DateChooserList {
+ iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+ iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ }
+
+ DateChooserHeader {
+ padding-top: 0px;
+ padding-bottom: 5px;
+ iBackgroundBead: ClassReference('org.apache.flex.html.beads.SolidBackgroundBead');
+ iBorderBead: ClassReference("org.apache.flex.html.beads.SingleLineBorderBead");
+ }
+
+ DateItemRenderer {
+ margin: 0px;
+ padding: 5px;
+ }
+
DropDownList
{
IBeadModel: ClassReference("org.apache.flex.html.beads.models.ArraySelectionModel");
[2/3] git commit: [flex-asjs] [refs/heads/develop] - Merge branch
'develop' into DateChooser
Posted by pe...@apache.org.
Merge branch 'develop' into DateChooser
* develop: (28 commits)
build for asdoc
more fixes for asdoc app
only copy resource folder if it exists
Simplify Materialcon estructure to allow further changes
More icons, and new card example
Set proper for layout for current selection.
Use interfaces where possible.
Fix bug where initial selection messes up layout.
Wrong casting.
Renamed InnerText to InnerHTML
A bead to insert innerHTML text in a component element
Shows only first row as in MDL web example
Last things for MDL Lists
fix span to avoid remove text element
List with two lines, secondary content, subtitle and secondary info
New List example with secondary actions
Secondary action and material icon star
fix list example IRs
refactor list item primary content to be a bead
Change innerHTML for a textNode to avoid remove text when using beads that \u201cappend\u201d html tags
...
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/3a741f1b
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/3a741f1b
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/3a741f1b
Branch: refs/heads/develop
Commit: 3a741f1b7add1521b68825b77f2ebc6a08f5f6cf
Parents: a05642b e28de64
Author: Peter Ent <pe...@apache.org>
Authored: Mon Dec 12 11:29:25 2016 -0500
Committer: Peter Ent <pe...@apache.org>
Committed: Mon Dec 12 11:29:25 2016 -0500
----------------------------------------------------------------------
examples/build_example.xml | 30 +-
examples/flexjs/ASDoc/build.xml | 47 +-
.../ASDoc/src/main/config/asdoc-config.xml | 473 +++++++++++++++++++
.../ASDoc/src/main/flex/ASDocMainView.mxml | 2 +-
.../ASDoc/src/main/flex/DetailRenderer.mxml | 10 +-
.../ASDoc/src/main/flex/models/ASDocModel.as | 69 ++-
.../flexjs/MDLExample/src/main/flex/Cards.mxml | 37 +-
.../flexjs/MDLExample/src/main/flex/Lists.mxml | 59 ++-
.../ActorNameAndIconListItemRenderer.mxml | 49 ++
.../ActorNameListItemRenderer.mxml | 48 ++
.../AvatarAndActionListItemRenderer.mxml | 56 +++
...vatarAndActionThreeLineListItemRenderer.mxml | 68 +++
.../AvatarAndActionTwoLineListItemRenderer.mxml | 83 ++++
.../itemRenderers/CustomListItemRenderer.mxml | 32 +-
.../src/main/flex/models/ListsModel.as | 30 +-
.../MDLExample/src/main/flex/vos/ActorVO.as | 35 ++
.../MDLExample/src/main/flex/vos/ProductVO.as | 27 ++
.../src/main/resources/mdl-styles.css | 65 ++-
.../flex/binding/ItemRendererDataBinding.as | 76 ++-
.../flex/org/apache/flex/utils/StrandUtils.as | 3 +-
frameworks/projects/HTML/.vscode/tasks.json | 10 +
.../src/main/flex/org/apache/flex/html/A.as | 3 -
.../main/flex/org/apache/flex/html/Accordion.as | 7 +
.../src/main/flex/org/apache/flex/html/Span.as | 51 +-
.../org/apache/flex/html/beads/AccordionView.as | 14 +-
.../org/apache/flex/html/beads/InnerHTML.as | 98 ++++
.../HTML/src/main/resources/basic-manifest.xml | 2 +
.../flex/org/apache/flex/mdl/LayoutTitle.as | 7 +-
.../flex/mdl/beads/ListItemPrimaryContent.as | 85 ++++
.../flex/mdl/beads/ListItemSecondaryAction.as | 85 ++++
.../flex/mdl/beads/ListItemSecondaryContent.as | 85 ++++
.../flex/mdl/beads/ListItemSecondaryInfo.as | 85 ++++
.../apache/flex/mdl/beads/ListItemSubTitle.as | 85 ++++
.../apache/flex/mdl/beads/ListItemTextBody.as | 85 ++++
.../mdl/beads/materialIcons/MaterialIconAdd.as | 26 +-
.../beads/materialIcons/MaterialIconCancel.as | 26 +-
.../beads/materialIcons/MaterialIconEvent.as | 52 ++
.../beads/materialIcons/MaterialIconPerson.as | 52 ++
.../beads/materialIcons/MaterialIconShare.as | 52 ++
.../mdl/beads/materialIcons/MaterialIconStar.as | 52 ++
.../beads/materialIcons/MaterialIconsType.as | 4 +
.../flex/mdl/itemRenderers/ListItemRenderer.as | 119 +++--
.../flex/mdl/supportClasses/MaterialIconBase.as | 161 ++++++-
.../src/main/resources/mdl-manifest.xml | 10 +
44 files changed, 2331 insertions(+), 224 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3a741f1b/frameworks/projects/HTML/src/main/resources/basic-manifest.xml
----------------------------------------------------------------------