summaryrefslogtreecommitdiff
path: root/includes/js/dojox/widget/FileInput
diff options
context:
space:
mode:
authormensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-11-13 09:49:11 +0000
committermensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f>2008-11-13 09:49:11 +0000
commite44a7e37b6c7b5961adaffc62b9042b8d442938e (patch)
tree95b67c356e93163467db2451f2b8cce84ed5d582 /includes/js/dojox/widget/FileInput
parenta62b9742ee5e28bcec6872d88f50f25b820914f6 (diff)
downloadsemanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.gz
semanticscuttle-e44a7e37b6c7b5961adaffc62b9042b8d442938e.tar.bz2
New feature: basic Ajax suggestion for tags and implementation of Dojo toolkit
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@151 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'includes/js/dojox/widget/FileInput')
-rw-r--r--includes/js/dojox/widget/FileInput/FileInput.css70
-rw-r--r--includes/js/dojox/widget/FileInput/FileInput.css.commented.css79
-rw-r--r--includes/js/dojox/widget/FileInput/FileInput.html9
-rw-r--r--includes/js/dojox/widget/FileInput/FileInputAuto.html9
-rw-r--r--includes/js/dojox/widget/FileInput/ReceiveFile.php37
5 files changed, 204 insertions, 0 deletions
diff --git a/includes/js/dojox/widget/FileInput/FileInput.css b/includes/js/dojox/widget/FileInput/FileInput.css
new file mode 100644
index 0000000..2d99c74
--- /dev/null
+++ b/includes/js/dojox/widget/FileInput/FileInput.css
@@ -0,0 +1,70 @@
+.dijitFileInput {
+ position:relative;
+ height:1.3em;
+ padding:2px;
+}
+.dijitFileInputReal {
+ position:absolute;
+ z-index:2;
+ opacity:0;
+ filter:alpha(opacity:0);
+}
+.dijitFileInputRealBlind {
+ right:0;
+}
+.dijitFileInputReal:hover { cursor:pointer; }
+.dijitFileInputButton,
+.dijitFileInputText {
+ border:1px solid #333;
+ padding:2px 12px 2px 12px;
+ cursor:pointer;
+}
+.dijitFileInputButton {
+ z-index:3;
+ visibility:hidden;
+}
+.dijitFakeInput { position:absolute; top:0; left:0; z-index:1; }
+.dijitProgressOverlay {
+ display:none;
+ width:250px;
+ height:1em;
+ position:absolute;
+ top:0; left:0;
+ border:1px solid #333;
+ background:#cad2de url('../../../dijit/themes/tundra/images/dijitProgressBarAnim.gif') repeat-x top left;
+ padding:2px;
+}
+.tundra .dijitProgressOverlay {
+ border:1px solid #84a3d1;
+ background-color:#cad2de;
+}
+.tundra .dijitFakeInput input {
+ font-size: inherit;
+ background:#fff url("../../../dijit/themes/tundra/images/validationInputBg.png") repeat-x top left;
+ border:1px solid #9b9b9b;
+ line-height: normal;
+ padding: 0.2em 0.3em;
+}
+.tundra .dijitFileInputButton,
+.tundra .dijitFileInputText {
+ border:1px solid #9b9b9b;
+ padding:2px 12px 2px 12px;
+ background:#e9e9e9 url("../../../dijit/themes/tundra/images/buttonEnabled.png") repeat-x top;
+}
+.soria .dijitProgressOverlay {
+ border:1px solid #333;
+ background-color:#cad2de;
+}
+.soria .dijitFakeInput input {
+ border:1px solid #333;
+ background:#fff url("../../../dijit/themes/soria/images/gradientInverseTopBg.png") repeat-x top left;
+ line-height:normal;
+ background-position:0 -30px;
+ padding:0.2em 0.3em;
+}
+.soria .dijitFileInputButton,
+.soria .dijitFileInputText {
+ border:1px solid #333;
+ padding:2px 12px 2px 12px;
+ background:#b7cdee url('../../../dijit/themes/soria/images/gradientTopBg.png') repeat-x;
+}
diff --git a/includes/js/dojox/widget/FileInput/FileInput.css.commented.css b/includes/js/dojox/widget/FileInput/FileInput.css.commented.css
new file mode 100644
index 0000000..162133d
--- /dev/null
+++ b/includes/js/dojox/widget/FileInput/FileInput.css.commented.css
@@ -0,0 +1,79 @@
+.dijitFileInput {
+ position:relative;
+ height:1.3em;
+ padding:2px;
+}
+
+.dijitFileInputReal {
+ position:absolute;
+ z-index:2;
+ opacity:0;
+ filter:alpha(opacity:0);
+}
+.dijitFileInputRealBlind {
+ right:0;
+}
+.dijitFileInputReal:hover { cursor:pointer; }
+
+.dijitFileInputButton,
+.dijitFileInputText {
+ border:1px solid #333;
+ padding:2px 12px 2px 12px;
+ cursor:pointer;
+}
+
+.dijitFileInputButton {
+ z-index:3;
+ visibility:hidden;
+}
+.dijitFakeInput { position:absolute; top:0; left:0; z-index:1; }
+
+.dijitProgressOverlay {
+ display:none;
+ width:250px;
+ height:1em;
+ position:absolute;
+ top:0; left:0;
+ border:1px solid #333;
+ background:#cad2de url('../../../dijit/themes/tundra/images/dijitProgressBarAnim.gif') repeat-x top left;
+ padding:2px;
+}
+
+/* tundra */
+.tundra .dijitProgressOverlay {
+ border:1px solid #84a3d1;
+ background-color:#cad2de;
+}
+.tundra .dijitFakeInput input {
+ font-size: inherit;
+ background:#fff url("../../../dijit/themes/tundra/images/validationInputBg.png") repeat-x top left;
+ border:1px solid #9b9b9b;
+ line-height: normal;
+ padding: 0.2em 0.3em;
+}
+.tundra .dijitFileInputButton,
+.tundra .dijitFileInputText {
+ border:1px solid #9b9b9b;
+ padding:2px 12px 2px 12px; /* .3em .4em .2em .4em; */
+ background:#e9e9e9 url("../../../dijit/themes/tundra/images/buttonEnabled.png") repeat-x top;
+}
+
+/* Soria */
+.soria .dijitProgressOverlay {
+ border:1px solid #333;
+ background-color:#cad2de;
+}
+
+.soria .dijitFakeInput input {
+ border:1px solid #333;
+ background:#fff url("../../../dijit/themes/soria/images/gradientInverseTopBg.png") repeat-x top left;
+ line-height:normal;
+ background-position:0 -30px;
+ padding:0.2em 0.3em;
+}
+.soria .dijitFileInputButton,
+.soria .dijitFileInputText {
+ border:1px solid #333;
+ padding:2px 12px 2px 12px;
+ background:#b7cdee url('../../../dijit/themes/soria/images/gradientTopBg.png') repeat-x;
+}
diff --git a/includes/js/dojox/widget/FileInput/FileInput.html b/includes/js/dojox/widget/FileInput/FileInput.html
new file mode 100644
index 0000000..41401b7
--- /dev/null
+++ b/includes/js/dojox/widget/FileInput/FileInput.html
@@ -0,0 +1,9 @@
+<div class="dijitFileInput">
+ <input id="${id}" class="dijitFileInputReal" type="file" dojoAttachPoint="fileInput" name="${name}" />
+ <div class="dijitFakeInput">
+ <input class="dijitFileInputVisible" type="text" dojoAttachPoint="focusNode, inputNode" />
+ <div class="dijitInline dijitFileInputText" dojoAttachPoint="titleNode">${label}</div>
+ <div class="dijitInline dijitFileInputButton" dojoAttachPoint="cancelNode"
+ dojoAttachEvent="onclick:_onClick">${cancelText}</div>
+ </div>
+</div>
diff --git a/includes/js/dojox/widget/FileInput/FileInputAuto.html b/includes/js/dojox/widget/FileInput/FileInputAuto.html
new file mode 100644
index 0000000..f3c6216
--- /dev/null
+++ b/includes/js/dojox/widget/FileInput/FileInputAuto.html
@@ -0,0 +1,9 @@
+<div class="dijitFileInput">
+ <input id="${id}" name="${name}" class="dijitFileInputReal" type="file" dojoAttachPoint="fileInput" />
+ <div class="dijitFakeInput" dojoAttachPoint="fakeNodeHolder">
+ <input class="dijitFileInputVisible" type="text" dojoAttachPoint="focusNode, inputNode" />
+ <div class="dijitInline dijitFileInputText" dojoAttachPoint="titleNode">${label}</div>
+ <div class="dijitInline dijitFileInputButton" dojoAttachPoint="cancelNode" dojoAttachEvent="onclick:_onClick">${cancelText}</div>
+ </div>
+ <div class="dijitProgressOverlay" dojoAttachPoint="overlay">&nbsp;</div>
+</div>
diff --git a/includes/js/dojox/widget/FileInput/ReceiveFile.php b/includes/js/dojox/widget/FileInput/ReceiveFile.php
new file mode 100644
index 0000000..aca541f
--- /dev/null
+++ b/includes/js/dojox/widget/FileInput/ReceiveFile.php
@@ -0,0 +1,37 @@
+<?php
+
+// THIS IS AN EXAMPLE
+// you will obviously need to do more server side work than I am doing here to check and move your upload.
+// API is up for discussion, jump on http://dojotoolkit.org/forums
+
+// JSON.php is available in dojo svn checkout
+require("../../../dojo/tests/resources/JSON.php");
+$json = new Services_JSON();
+
+// fake delay
+sleep(3);
+$name = empty($_REQUEST['name'])? "default" : $_REQUEST['name'];
+if(is_array($_FILES)){
+ $ar = array(
+ // lets just pass lots of stuff back and see what we find.
+ // the _FILES aren't coming through in IE6 (maybe 7)
+ 'status' => "success",
+ 'name' => $name,
+ 'request' => $_REQUEST,
+ 'postvars' => $_POST,
+ 'details' => $_FILES,
+ // and some static subarray just to see
+ 'foo' => array('foo'=>"bar")
+ );
+
+}else{
+ $ar = array(
+ 'status' => "failed",
+ 'details' => ""
+ );
+}
+
+// yeah, seems you have to wrap iframeIO stuff in textareas?
+$foo = $json->encode($ar);
+?>
+<textarea><?php print $foo; ?></textarea>