Author: konstantin.mishin
Date: 2010-11-15 20:39:10 -0500 (Mon, 15 Nov 2010)
New Revision: 20056
Added:
sandbox/trunk/ui/fileupload/ui/src/main/resources/META-INF/resources/org.richfaces/fileupload.js
Modified:
sandbox/trunk/ui/fileupload/ui/src/main/resources/META-INF/resources/org.richfaces/fileupload.ecss
sandbox/trunk/ui/fileupload/ui/src/main/templates/fileupload.template.xml
Log:
RF-9496
Modified:
sandbox/trunk/ui/fileupload/ui/src/main/resources/META-INF/resources/org.richfaces/fileupload.ecss
===================================================================
---
sandbox/trunk/ui/fileupload/ui/src/main/resources/META-INF/resources/org.richfaces/fileupload.ecss 2010-11-16
00:20:58 UTC (rev 20055)
+++
sandbox/trunk/ui/fileupload/ui/src/main/resources/META-INF/resources/org.richfaces/fileupload.ecss 2010-11-16
01:39:10 UTC (rev 20056)
@@ -23,7 +23,7 @@
overflow-y: auto;
}
-.rf-fu-btns-lft, .rf-fu-btns-rgh {
+.rf-fu-btns-lft, .rf-fu-btns-rgh, .rf-fu-itm-lft, .rf-fu-itm-rgh {
display: inline-block;
overflow: hidden;
}
@@ -53,13 +53,19 @@
/*TODO Add disabled state for buttons*/
+.rf-fu-btn-add, .rf-fu-btn-uld, .rf-fu-btn-clr, .rf-fu-itm-lbl, .rf-fu-itm-lnk {
+ font-family: '#{richSkin.generalFamilyFont}';
+ font-size: '#{richSkin.generalSizeFont}';
+}
+
+.rf-fu-btn-add, .rf-fu-btn-uld, .rf-fu-btn-clr, .rf-fu-itm-lbl {
+ color: '#{richSkin.generalTextColor}';
+}
+
.rf-fu-btn-add, .rf-fu-btn-uld, .rf-fu-btn-clr {
background-position: 2px 2px;
background-repeat: no-repeat;
- color: '#{richSkin.generalTextColor}';
display: inline-block;
- font-family: '#{richSkin.generalFamilyFont}';
- font-size: '#{richSkin.generalSizeFont}';
padding: 3px 5px 3px 21px;
}
@@ -96,3 +102,26 @@
top: 0;
}
+.rf-fu-itm {
+ border-bottom-color: '#{richSkin.panelBorderColor}';
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ padding: 12px;
+ white-space: nowrap;
+}
+
+.rf-fu-itm-lft, .rf-fu-itm-rgh {
+ vertical-align: middle;
+}
+
+.rf-fu-itm-lft {
+ width: 85%;
+}
+
+.rf-fu-itm-rgh {
+ width: 14%;
+}
+
+.rf-fu-itm-lnk {
+ color: '#{richSkin.generalLinkColor}';
+}
\ No newline at end of file
Added:
sandbox/trunk/ui/fileupload/ui/src/main/resources/META-INF/resources/org.richfaces/fileupload.js
===================================================================
---
sandbox/trunk/ui/fileupload/ui/src/main/resources/META-INF/resources/org.richfaces/fileupload.js
(rev 0)
+++
sandbox/trunk/ui/fileupload/ui/src/main/resources/META-INF/resources/org.richfaces/fileupload.js 2010-11-16
01:39:10 UTC (rev 20056)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright ${year}, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ */
+(function(richfaces, jQuery) {
+ richfaces.ui = richfaces.ui || {};
+
+ richfaces.ui.FileUpload = richfaces.BaseComponent.extendClass({
+
+ name: "FileUpload",
+
+ init: function (id) {
+ this.id = id;
+ this.element = jQuery(this.attachToDom());
+ var header = this.element.children(".rf-fu-hdr:first");
+ var buttons =
header.children(".rf-fu-btns-lft:first").children(".rf-fu-btn");
+ this.addButton = buttons.first();
+// this.uploadButton = buttons.last();
+// this.clearButton =
header.children(".rf-fu-btns-rgh:first").children(".rf-fu-btn:first");
+ this.inputContainer = this.addButton.find(".rf-fu-inp-cntr:first");
+ this.input = this.inputContainer.children("input");
+ this.list = this.element.children(".rf-fu-lst:first");
+ this.cleanInput = this.input.clone();
+ this.addProxy = jQuery.proxy(this.__add, this)
+ this.input.change(this.addProxy);
+ },
+
+ __add: function () {
+ this.input.hide();
+ this.input.unbind("change", this.addProxy);
+ var item = new Item(this.input);
+ this.list.append(item.html());
+ this.input = this.cleanInput.clone();
+ this.inputContainer.append(this.input);
+ this.input.change(this.addProxy);
+ }
+ });
+
+ var Item = function(input) {
+ this.input = input;
+ };
+
+ jQuery.extend(Item.prototype, {
+ html: function() { //TODO Optimize concatenation of strings.
+ return '<div class="rf-fu-itm">'
+ + '<span class="rf-fu-itm-lft">'
+ + '<span class="rf-fu-itm-lbl">' + this.input.val() +
'</span>'
+ + '</span>'
+ + '<span class="rf-fu-itm-rgh">'
+ + '<a href="#"
class="rf-fu-itm-lnk">Delete</a>'
+ + '</span>'
+ + '</div>';
+ }
+ });
+}(window.RichFaces, jQuery));
Modified: sandbox/trunk/ui/fileupload/ui/src/main/templates/fileupload.template.xml
===================================================================
--- sandbox/trunk/ui/fileupload/ui/src/main/templates/fileupload.template.xml 2010-11-16
00:20:58 UTC (rev 20055)
+++ sandbox/trunk/ui/fileupload/ui/src/main/templates/fileupload.template.xml 2010-11-16
01:39:10 UTC (rev 20056)
@@ -33,6 +33,7 @@
<cdk:renderer-type>org.richfaces.FileUploadRenderer</cdk:renderer-type>
<cdk:resource-dependency library="org.richfaces"
name="fileupload.ecss" />
<cdk:resource-dependency library="org.richfaces"
name="base-component.reslib" />
+ <cdk:resource-dependency library="org.richfaces"
name="fileupload.js" />
</cc:interface>
<cc:implementation>
<div id="#{clientId}" class="rf-fu">
@@ -57,6 +58,7 @@
</span>
</div>
<div class="rf-fu-lst" />
+ <script type="text/javascript">new
RichFaces.ui.FileUpload('#{clientId}');</script>
</div>
</cc:implementation>
</cdk:root>