func init() {
	Files.Add("filetree.css", 858, time.Unix(0, 1370942742232957700), fileembed.String("/*\n"+
		"Copyright 2011 The Camlistore Authors.\n"+
		"\n"+
		"Licensed under the Apache License, Version 2.0 (the \"License\");\n"+
		"you may not use this file except in compliance with the License.\n"+
		"You may obtain a copy of the License at\n"+
		"\n"+
		"     http://www.apache.org/licenses/LICENSE-2.0\n"+
		"\n"+
		"Unless required by applicable law or agreed to in writing, software\n"+
		"distributed under the License is distributed on an \"AS IS\" BASIS,\n"+
		"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n"+
		"See the License for the specific language governing permissions and\n"+
		"limitations under the License.\n"+
		"*/\n"+
		"\n"+
		".cam-filetree-page {\n"+
		"  font: 16px/1.4 normal Arial, sans-serif;\n"+
		"}\n"+
		".cam-filetree-nav:before {\n"+
		"  content: \"[\";\n"+
		"}\n"+
		".cam-filetree-nav:after {\n"+
		"  content: \"]\";\n"+
		"}\n"+
		".cam-filetree-newp {\n"+
		"  text-decoration: underline;\n"+
		"  cursor: pointer;\n"+
		"  color: darkgreen;\n"+
		"  margin-left: .4em;\n"+
		"  font-size: 80%;\n"+
		"}\n"+
		""))
}
func init() {
	Files.Add("index-compiled.html", 879, time.Unix(0, 1370942742232957700), fileembed.String("<!doctype html>\n"+
		"<html>\n"+
		"  <head>\n"+
		"    <script src=\"?camli.mode=config&var=CAMLISTORE_CONFIG\"></script>\n"+
		"    <script src=\"all.js\"></script>\n"+
		"    <!-- easier css handling: https://code.google.com/p/camlistore/issues/detail?"+
		"id=98 -->\n"+
		"    <link rel=\"stylesheet\" href=\"blob_item.css\" type=\"text/css\">\n"+
		"    <link rel=\"stylesheet\" href=\"blob_item_container.css\" type=\"text/css\">\n"+
		"    <link rel=\"stylesheet\" href=\"create_item.css\" type=\"text/css\">\n"+
		"    <link rel=\"stylesheet\" href=\"index.css\" type=\"text/css\">\n"+
		"    <link rel=\"stylesheet\" href=\"toolbar.css\" type=\"text/css\">\n"+
		"    <link rel=\"stylesheet\" href=\"closure/goog/css/common.css\" type=\"text/css\">\n"+
		"    <link rel=\"stylesheet\" href=\"closure/goog/css/toolbar.css\" type=\"text/css\">\n"+
		"  </head>\n"+
		"  <body>\n"+
		"    <script>\n"+
		"      var page = new camlistore.IndexPage(CAMLISTORE_CONFIG);\n"+
		"      page.decorate(document.body);\n"+
		"    </script>\n"+
		"  </body>\n"+
		"</html>\n"+
		""))
}
func init() {
	Files.Add("blobinfo.html", 849, fileembed.String("<html>\n"+
		"<head>\n"+
		"  <title>Blob info</title>\n"+
		"  <script src=\"camli.js\"></script>\n"+
		"  <script src=\"?camli.mode=config&cb=onConfiguration\"></script>\n"+
		"  <script src=\"blobinfo.js\"></script>\n"+
		"  <link rel=\"stylesheet\" href=\"camli.css\">\n"+
		"</head>\n"+
		"<body class=\"camli-ui-blobinfo\">\n"+
		"  <div class=\"camli-nav\"><a href=\"./\">Home</a></div>\n"+
		"  <h1>Blob Contents</h1>\n"+
		"\n"+
		"  <div id=\"thumbnail\"></div>\n"+
		"  <span id=\"editspan\" class=\"camli-nav\" style=\"display: none;\"><a href=\"#\" id=\"ed"+
		"itlink\">edit</a></span>\n"+
		"  <span id=\"blobdownload\" class=\"camli-nav\"></span>\n"+
		"  <span id=\"blobdescribe\" class=\"camli-nav\"></span>\n"+
		"  <span id=\"blobbrowse\" class=\"camli-nav\"></span>\n"+
		"\n"+
		"  <pre id=\"blobdata\"></pre>\n"+
		"\n"+
		"  <h1>Indexer Metadata</h1>\n"+
		"  <pre id=\"blobmeta\"></pre>\n"+
		"\n"+
		"  <div id=\"claimsdiv\" style=\"visibility: hidden\">\n"+
		"    <h1>Mutation Claims</h1>\n"+
		"    <pre id=\"claims\"></pre>\n"+
		"  </div>\n"+
		"\n"+
		"</body>\n"+
		"</html>\n"+
		""), time.Unix(0, 1355268929464816599))
}
Example #4
0
func init() {
	Files.Add("debug.html", 1751, time.Unix(0, 1370942742232957700), fileembed.String("<!doctype html>\n"+
		"<html>\n"+
		"<head>\n"+
		"	<title>Camlistored UI</title>\n"+
		"	<script src=\"closure/goog/base.js\"></script>\n"+
		"	<script src=\"./deps.js\"></script>\n"+
		"	<script src=\"?camli.mode=config&var=CAMLISTORE_CONFIG\"></script>\n"+
		"	<!-- Begin non-Closure cheating; but depended on by server_connection.js -->\n"+
		"	<script type=\"text/javascript\" src=\"base64.js\"></script>\n"+
		"	<script type=\"text/javascript\" src=\"Crypto.js\"></script>\n"+
		"	<script type=\"text/javascript\" src=\"SHA1.js\"></script>\n"+
		"	<!-- End non-Closure cheating -->\n"+
		"	<script>\n"+
		"		goog.require('camlistore.DebugPage');\n"+
		"	</script>\n"+
		"\n"+
		"</head>\n"+
		"<body>\n"+
		"	<form>\n"+
		"		<h2>Root Discovery</h2>\n"+
		"		<p><input type=\"button\" id=\"discobtn\" value=\"Do Discovery\" /></p>\n"+
		"		<div id=\"discores\" style=\"border: 2px solid gray\">(discovery results)</div>\n"+
		"\n"+
		"		<h2>Signing Discovery</h2>\n"+
		"		<p><input type=\"button\" id=\"sigdiscobtn\" value=\"Do jsonSign discovery\" /></p>\n"+
		"		<div id=\"sigdiscores\" style=\"border: 2px solid gray\">(jsonsign discovery result"+
		"s)</div>\n"+
		"\n"+
		"		<h2>Signing Debug</h2>\n"+
		"		<table>\n"+
		"		<tr align='left'>\n"+
		"			<th>JSON blob to sign: <input type='button' id='addkeyref' value=\"Add keyref\"/"+
		"></th>\n"+
		"			<th></th>\n"+
		"			<th>Signed blob:</th>\n"+
		"			<th></th>\n"+
		"			<th>Verification details:</th>\n"+
		"		</tr>\n"+
		"		<tr>\n"+
		"			<td><textarea id='clearjson' rows=10 cols=40>{\"camliVersion\": 1, \"camliType\": "+
		"\"whatever\", \"foo\": \"bar\"}</textarea></td>\n"+
		"			<td valign='middle'><input type='button' id='sign' value=\"Sign &gt;&gt;\" /></t"+
		"d>\n"+
		"			<td><textarea id=\"signedjson\" rows=10 cols=40></textarea></td>\n"+
		"			<td valign='middle'><input type='button' id='verify' value=\"Verify &gt;&gt;\" /"+
		"></td>\n"+
		"			<td><div id='verifyinfo'></div></td>\n"+
		"		</tr>\n"+
		"		</table>\n"+
		"	</form>\n"+
		"\n"+
		"	<script>\n"+
		"		var page = new camlistore.DebugPage(CAMLISTORE_CONFIG);\n"+
		"		page.decorate(document.body);\n"+
		"	</script>\n"+
		"</body>\n"+
		"</html>\n"+
		""))
}
Example #5
0
func init() {
	Files.Add("search.html", 1144, time.Unix(0, 1370942742232957700), fileembed.String("<html>\n"+
		"<head>\n"+
		"	<title>Search</title>\n"+
		"	<script src=\"closure/goog/base.js\"></script>\n"+
		"	<script src=\"./deps.js\"></script>\n"+
		"	<script src=\"?camli.mode=config&var=CAMLISTORE_CONFIG\"></script>\n"+
		"	<!-- Begin non-Closure cheating; but depended on by server_connection.js -->\n"+
		"	<script type=\"text/javascript\" src=\"base64.js\"></script>\n"+
		"	<script type=\"text/javascript\" src=\"Crypto.js\"></script>\n"+
		"	<script type=\"text/javascript\" src=\"SHA1.js\"></script>\n"+
		"	<!-- End non-Closure cheating -->\n"+
		"	<script>\n"+
		"		goog.require('camlistore.SearchPage');\n"+
		"	</script>\n"+
		"	<link rel=\"stylesheet\" href=\"blob_item.css\" type=\"text/css\">\n"+
		"	<link rel=\"stylesheet\" href=\"blob_item_container.css\" type=\"text/css\">\n"+
		"	<link rel=\"stylesheet\" href=\"create_item.css\" type=\"text/css\">\n"+
		"	<link rel=\"stylesheet\" href=\"index.css\" type=\"text/css\">\n"+
		"	<link rel=\"stylesheet\" href=\"toolbar.css\" type=\"text/css\">\n"+
		"	<link rel=\"stylesheet\" href=\"closure/goog/css/common.css\" type=\"text/css\">\n"+
		"	<link rel=\"stylesheet\" href=\"closure/goog/css/toolbar.css\" type=\"text/css\">\n"+
		"</head>\n"+
		"<body>\n"+
		"\n"+
		"	<script>\n"+
		"		var page = new camlistore.SearchPage(CAMLISTORE_CONFIG);\n"+
		"		page.decorate(document.body);\n"+
		"	</script>\n"+
		"</body>\n"+
		"</html>\n"+
		""))
}
func init() {
	Files.Add("gallery.html", 616, fileembed.String("<!doctype html>\n"+
		"<html>\n"+
		"<head>\n"+
		"  <title>Gallery</title>\n"+
		"  <script src=\"base64.js\"></script>\n"+
		"  <script src=\"Crypto.js\"></script>\n"+
		"  <script src=\"SHA1.js\"></script>\n"+
		"  <script src=\"camli.js\"></script>\n"+
		"  <script src=\"?camli.mode=config&cb=onConfiguration\"></script>\n"+
		"  <script src=\"gallery.js\"></script>\n"+
		"  <link rel=\"stylesheet\" href=\"camli.css\">\n"+
		"</head>\n"+
		"<body class=\"camli-ui-permanode\">\n"+
		"  <div class=\"camli-nav\"><a href=\"./\">Home</a></div>\n"+
		"  <h1>Gallery</h1>\n"+
		"\n"+
		"  <p>\n"+
		"    Permalink:\n"+
		"    <span id=\"permanode\"></span>\n"+
		"    <span id=\"permanodeBlob\" class=\"camli-nav\"></span>\n"+
		"  </p>\n"+
		"\n"+
		"  <div id=\"members\"></div>\n"+
		"\n"+
		"</body>\n"+
		"</html>\n"+
		""), time.Unix(0, 1349725494193783184))
}
func init() {
	Files.Add("filetree.html", 929, time.Unix(0, 1370942742232957700), fileembed.String("<!doctype html>\n"+
		"<html>\n"+
		"<head>\n"+
		"	<title>Filetree</title>\n"+
		"	<script src=\"closure/goog/base.js\"></script>\n"+
		"	<script src=\"./deps.js\"></script>\n"+
		"	<script src=\"?camli.mode=config&var=CAMLISTORE_CONFIG\"></script>\n"+
		"	<!-- Begin non-Closure cheating; but depended on by server_connection.js -->\n"+
		"	<script type=\"text/javascript\" src=\"base64.js\"></script>\n"+
		"	<script type=\"text/javascript\" src=\"Crypto.js\"></script>\n"+
		"	<script type=\"text/javascript\" src=\"SHA1.js\"></script>\n"+
		"	<!-- End non-Closure cheating -->\n"+
		"	<script>\n"+
		"		goog.require('camlistore.FiletreePage');\n"+
		"	</script>\n"+
		"	<link rel=\"stylesheet\" href=\"filetree.css\">\n"+
		"</head>\n"+
		"<body class=\"cam-filetree-page\">\n"+
		"	<div class=\"cam-filetree-nav\"><a href=\"./\">Home</a></div>\n"+
		"	<h1>FileTree for <span id=\"curDir\" class=\"cam-filetree-nav\"></span> </h1>\n"+
		"\n"+
		"	<div id=\"children\"></div>\n"+
		"	<script>\n"+
		"		var page = new camlistore.FiletreePage(CAMLISTORE_CONFIG);\n"+
		"		page.decorate(document.body);\n"+
		"	</script>\n"+
		"</body>\n"+
		"</html>\n"+
		""))
}
Example #8
0
func init() {
	Files.Add("index.css", 375, fileembed.String("#toolbar input[type=\"button\"] {\n"+
		"    padding: 2px 5px 2px 5px;\n"+
		"}\n"+
		"\n"+
		"#btnList {\n"+
		"  margin-right: 0;\n"+
		"  border-right: 1px dashed #000;\n"+
		"}\n"+
		"\n"+
		"#btnThumbs {\n"+
		" margin-left: 0;\n"+
		" border-left: 0;\n"+
		"}\n"+
		"\n"+
		"#btnSmaller {\n"+
		"  margin-right: 0;\n"+
		"  border-right: 1px dashed #000;\n"+
		"  width: 2em;\n"+
		"}\n"+
		"\n"+
		"#btnBigger {\n"+
		" margin-left: 0;\n"+
		" border-left: 0;\n"+
		" width: 2em;\n"+
		"}\n"+
		"\n"+
		"#btnSearch {\n"+
		" margin-left: 0;\n"+
		" border-left: 0;\n"+
		"}"), time.Unix(0, 1355276007991994116))
}
func init() {
	Files.Add("toolbar_test.html", 912, time.Unix(0, 1370942742232957700), fileembed.String("<!doctype html>\n"+
		"<html>\n"+
		"  <head>\n"+
		"    <script src=\"closure/goog/base.js\"></script>\n"+
		"    <script src=\"./deps.js\"></script>\n"+
		"    <script>\n"+
		"      goog.require('goog.events');\n"+
		"      goog.require('camlistore.Toolbar');\n"+
		"      goog.require('camlistore.Toolbar.EventType');\n"+
		"    </script>\n"+
		"    <link rel=\"stylesheet\" href=\"toolbar.css\" type=\"text/css\">\n"+
		"    <link rel=\"stylesheet\" href=\"closure/goog/css/common.css\" type=\"text/css\">\n"+
		"    <link rel=\"stylesheet\" href=\"closure/goog/css/toolbar.css\" type=\"text/css\">\n"+
		"  </head>\n"+
		"  <body>\n"+
		"    <script>\n"+
		"      var x = new camlistore.Toolbar();\n"+
		"      x.render(document.body);\n"+
		"\n"+
		"      goog.events.listen(\n"+
		"          x, camlistore.Toolbar.EventType.BIGGER, function() {\n"+
		"            console.log('Bigger');\n"+
		"          });\n"+
		"\n"+
		"      goog.events.listen(\n"+
		"          x, camlistore.Toolbar.EventType.SMALLER, function() {\n"+
		"            console.log('Smaller');\n"+
		"          });\n"+
		"    </script>\n"+
		"  </body>\n"+
		"</html>\n"+
		""))
}
Example #10
0
func init() {
	Files.Add("search.html", 1516, fileembed.String("<html>\n"+
		"<head>\n"+
		"  <title>Camlistored UI</title>\n"+
		"  <script type=\"text/javascript\" src=\"Crypto.js\"></script>\n"+
		"  <script type=\"text/javascript\" src=\"SHA1.js\"></script>\n"+
		"  <script src=\"camli.js\"></script>\n"+
		"  <script src=\"?camli.mode=config&cb=Camli.onConfiguration\"></script>\n"+
		"  <script src=\"search.js\"></script>\n"+
		"  <link rel=\"stylesheet\" href=\"camli.css\">\n"+
		"</head>\n"+
		"<body>\n"+
		"    <div class=\"camli-nav\"><a href=\"./\">Home</a></div>\n"+
		"\n"+
		"    <h1>Search</h1>\n"+
		"\n"+
		"    <h2>Find all roots</h2>\n"+
		"    <form id=\"formRoots\">\n"+
		"        <input type=\"submit\" id=\"btnRoots\" value=\"Search\">\n"+
		"    </form>\n"+
		"\n"+
		"    <h2>In all attributes</h2>\n"+
		"    <form id=\"formAnyAttr\">\n"+
		"        <input id=\"inputAnyAttr\" placeholder=\"attrValue1\">\n"+
		"        <input type=\"submit\" id=\"btnAnyAttr\" value=\"Search\">\n"+
		"    </form>\n"+
		"\n"+
		"    <h2>By Tag</h2>\n"+
		"    <form id=\"formTags\">\n"+
		"        <input id=\"inputTag\" placeholder=\"tag1\">\n"+
		"        <input type=\"submit\" id=\"btnTagged\" value=\"Search\"></br>\n"+
		"        <input id=\"maxTagged\" placeholder=\"nb of results: 50\">\n"+
		"    </form>\n"+
		"\n"+
		"    <h2>By Title</h2>\n"+
		"    <form id=\"formTitles\">\n"+
		"        <input id=\"inputTitle\" placeholder=\"title1\">\n"+
		"        <input type=\"submit\" id=\"btnTitle\" value=\"Search\">\n"+
		"    </form>\n"+
		"\n"+
		"    <h3 id=\"titleRes\">Search</h3>\n"+
		"    <div id=\"divRes\">\n"+
		"</div>\n"+
		"    <p>\n"+
		"    <form id=\"formAddToCollec\">\n"+
		"        <input id=\"inputCollec\" placeholder=\"collection's permanode\">\n"+
		"        <input type=\"submit\" id=\"btnAddToCollec\" value=\"Add to collection\"> or\n"+
		"    </form>\n"+
		"    <button id=\"btnNewCollec\">Create new collection</button>\n"+
		"    </p>\n"+
		"\n"+
		"</body>\n"+
		"</html>\n"+
		""), time.Unix(0, 1364837799719094732))
}
Example #11
0
func init() {
	Files.Add("folder.png", 3799, time.Unix(0, 1370436971361750003), fileembed.String("\x89PNG\x0d\n"+
		"\x1a\n"+
		"\x00\x00\x00\x0dIHDR\x00\x00\x00d\x00\x00\x00d\x08\x06\x00\x00\x00p\xe2\x95T\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x00\x06bKGD\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00	pHYs\x00\x00\x0d\xd7\x00\x00\x0d\xd7\x01B(\x9bx\x00\x00\x00\x07"+
		"tIME\x07\xdc\x0b\x05\x10$\x1f\x89\xe0\xf8\xf4\x00\x00\x0eWIDATx\xda\xed]M\x88,\xd7u\xfe\xee\xad\xbf\xee\xe97o\xde\x9b\x97\x80\x03\"^(\x04\xd9\x02ol\x89\x90\x1fcD0\xb67\xd9\x04\x81\x97A1\x06!\x05D\x16Zz\x8c\xed\x8d\x841x!"+
		"\x8c\x08Z\x84@\x08\x8f@\x16\xde\x18\x84\xf3c\x81-\x12	\x9b\xf8\x11\x07[\"\x0e\x96\xa5\xf1<\xcd\x9b\xfe\xab\xbf{\xef9^\xd4\xbd5\xd5=U\xdd5\xaf{\xfa\xcd\x9b\xae\x03\x97\xee\xae\xea\xaa\xae9_\x9d\xef;\xe7\xd4\xad\x1a\xa0\xb3\xce:\xeb\xac\xb3\xce:\xeb\xac\xb3\xce"+
		":\xeb\xac\xb3\xce:\xbb<&\x16\xad<88\x90i\x9a~\x1a\xc0\x1f>\xc0c\xfc\xc5;\xef\xbc\xf3\xef\xb7o\xdf6[\x0d\xc8\x0b/\xbc\xd0\x0f\xc3\xf0\xdf\x00<y	\x8e\xf3]f\xfe\xeb\x97^z\xe9_\xb7\x16\x90\x17_|\xf1y\x00\xdf\x8e\xa2\x08\x8f<\xf2H\xb9\x9c\x99"+
		"\x97\xbe\xaf3)\xe5\x99e\xcb\xb6!\"\x1c\x1d\x1da:\x9d\x02\xc0\x94\x99\xff\xe0\xe5\x97_\xfe\xe0*\x03\xe27\"%\xc4\x13\xcc\x8c\xc7\x1f\x7f\x1c\x8f=\xf6X\xe9@7\xaa\x0e\xad[6\xbf\xbc\xee\xf32`\x98\x19Zk\xbc\xf1\xc6\x1b\x18\x0e\x87\x03f\xfe2\x80\xafn% "+
		"D\x94	! \xa5,\x1d6\x1e\x8f\x91\xe7y\xf9\x99\x88f\xce\xe6&p\xaa\xeb\xdaF\x1a3#\x08\x02\xec\xed\xed\xe1\xd1G\x1f\xc5[o\xbd\x05\x00\x9f\xbe\xea\x94\xb5(B\x94;C\x99\xb9\xa4\x8fj\x94\xb4\x19m#\xab)R\xd24\xc5\xfe\xfe\xbe[\xf7\xe4\xc1\xc1\x81<8"+
		"8\xa0m\x8c\x90)\x00\x18cJ\xeaPJ\x81\x88V\x06\xa3\x0d\xbd\xb9eGGG\xb8u\xeb\x16\xa2(B\x9a\xa6\xd7\x86\xc3\xe1\xc7\x00\xdc\xd9F@\xb4\x10\x02y\x9e#I\x12(\xa5p\xef\xde\xbd2Z\x9c\xc3\x1c@\xf3N\x9d\xa7\xb0\xba\xe8XFY\xce\x0e\x0f\x0fq\xf3\xe6"+
		"M\xbc\xf7\xde{\x10B<y\x95\x01\x91M+\x98y\xe2\x1c.\xa5\x84\x10\xa2\x1c\xd5\xcfR\xca3\xeb]V\xd5\xb4\xcd\xfcw\x1b(\xb3\x1c\x93\xc9\x04\xd7\xaf_w@?\x89+l\x8b4\xc403\x94R\xf0}\x1f\x9e\xe7\xe1\xc6\x8d\x1b \xa2\x0b\xa1\xad\xba\xc8p\x9f\xb3,+"+
		"u\x84\x99\xff\xf8*\x03\"\x17P\xd6\x84\x99a\x8c\x99\x01\xa1\xfa\xd9\x0dcL\xb9\xbc\xee}\xddhZ_]\xae\xb5\x861\x06J)dY\x06!\x04\x98\xf9\x13\xcf?\xff\xfc\x97\xb7.B\x98\xd9\x00(\x9d\x91e\x19\x8e\x8f\x8f\xa1\x94\xba\xaf\xc8h#\xeaM\xd9\x163c4\x1a"+
		"aoo\x0f\xc7\xc7\xc7`\xe6\xef<\xf7\xdcs\xdf\x04\x90/\xfa\xe3\x96\x15\x9e\xcb\xd6\xcf}o(\x84\xf8g\xad\xf5\xd7^}\xf5\xd5\xe1\x83\x00d\xec\xb2\xac:\xe1\xae\x8e*\x855\x01\xb1\xa8\x16iJ\x83\xab\xeb\x84\x10\x18\x0c\x06\x00\x80\x93\x93\x13h\xad\x07\x00\x06kpt\xdb"+
		"\xef\xddd\xe6\xbf\x95R~\x1c\xc0\x176\x0e\x08\x00bf\xe4y\x8e \x08\xe0\xfb>n\xde\xbc\x89,\xcbj5\xa4\n"+
		"\xda\xfc\xfbE:\xb2(J\xaa\x9f]\x020\x18\x0c\xb0\xb3\xb3\x83~\xbf\x8f\xfd\xfd\xfd\xda\xc4\xc0-kJ\x1a\xea\x92\x8a\xea6\xd5\xe5\xae\xe53\x1e\x8f\xf1\xe6\x9boBk\xfd\xf9g\x9f}\xf6c\xaf\xbc\xf2\xca\xffl\x14\x10\xad\xf5HJY{\xf67E\xc1\xa2\x08h+\xf2M"+
		"\x945\xbf,\x8ec\x10\x11\xf6\xf7\xf7\xb1\xbb\xbb\x8b0\x0c\xe1\xfb~-\x10\xee\xb3\xef\xfb\xb5`\xcd\x83!\x84\x80\xe7y3\xcb\x95Rx\xfb\xed\xb7\xa1\x94\x821\xe6\x11\x00\x9b\x05DJ\xc9.\xcbr:2\x1c\x0e\x91$\xc9\xc2\x08iK[\x8b\xfaZM\xb45o\xc3\xe1\x10\x87"+
		"\x87\x87\x8d ,ZV\x97~\xbbh\xa8K\xcf\xc30tI\x05\x00\x84\x1b\xa7,c\xccP\x08q&\x0bZ$\xeaM\x0e\xaf[\xbe\xac\x18l\xdb\x84\\DYM\xf4\xd5\x04\x861\xa6\x16\x8c\xea\xb6\xf6\xd8\xaf?\x08\x0dA\xb5\x0e\x11B`ww\x17\xf34v?\xa3N\xe4\xdb"+
		"\xd4#\x8b\x8a\xc8E\x1aR\xf7\xda\xe4\xf4\xa6\x02\xd6Q\x98=\x0e\x7f\xe3\x80H)\x87.*\x9c3<\xcf+\x0fx\x9e\xa6\xaa\x11\xd2\xaa\x00\xb2]\xe4\xca\x1fy\xc6\xa9Up\x16U\xf5\x8b\"\xa1\x8e\xaa\x16EI\x13XsT|m\xe3\x80h\xad\x19\x00\xf2<\x87\xd6\x1aY\x96"+
		"a2\x99`4\x1a-M}\xdb\xeaG\x9b\xb4\xf7~(\xab\x8dn,\x8b\x94\xf9e\xbd^\xaf\x04F\x08\x11=\x88\xe6\xe2\xc8iH\x9e\xe7PJAk]^\x0f\xa9\xd3\x8c:P\x9aj\x97e\xb5\xc7y(\xeb\xbc\xa2\xbe\x08\x90\xba\xe5\x8e\xa6+\xc7\xd6{\x10\x80\x90\x94\xb2\xd4"+
		"\x10\x00\xe8\xf7\xfb\xc8\xb2\xec\x8c\xf3\x7f|w\x0fw\x93\xf0\\b\xbc\xee\xe2\xed<Q\xd3&\x19\xa8\xa3=\xa5>\x02\xedk\x18\x11\xfe\xcd\x13_\xfa\xf3\xbfl{<\xcc\x82!\xf0\x1fI\x10|\xe5\xce+OO\xeeWC\xc6\xd5\xb3\xd8\xf3<\x04A\x800\x0cg\xc0H\x14\xe3\xe7"+
		"'\x17F\xa9\x97\xcc\x027\x0b\xe1\xf7\xechy\x860\x00|\xaa\xaf\xf3c\x00\xdf\xb8_\x0d!\x97\x97\xbb\x0bSY\x96\x95\x05\x99\xd3\x85Q~\xba\x8b\xbf\xfa\x8bO\"\xf0\xe4\xda\xdd@\x0c\x18\xba\x1c\x17	\x95a\x00\xe7\x88Z\x06~\xf2\xbf\xef\xe3\xbf\x7f\xf1\x01@\xf8\xd3\xfb\xa6"+
		"\xac\xd7^{m\xfc\xcc3\xcf\x00@\xd9.I\xd3\x14I\x92\xcch\xc6(\xeb\xdb\x96F\x0f\x1f\xfd\xc8uD\x81Dg\x95z\x8e\x18\xff\xf7\xfeI\x11(-.\xac-\xabC\x0c\x00\xcf\xb5\x1dz\xbd\x1e\xa2(\x9a\xd5\x10]$\x1c\xbb\xfd\xb0\x9cS\xf4\xb3_M\xdaE2\x00\xcf"+
		"\x13\x97\xc2q\x9e\x07\x08\xac\xf7X>\xfa\xbb;0\x86\x11'\xb9\x0d\x16>\\\x15\x90	\x80=\"B\x18\x86\x08\x82\x00Q\x14\x95`\x10\x11LR$\x1c\xbb\x83\x08\x10@\xae\x19w\xc7i\x17\x1a\x00n\xed\x86\x08}\x89q\x9c\xdb\xc4@\x1e\xad\n"+
		"\x88v\x1a\"\xa5\x84\xd6z\x86\xb2\x98\x19\xd3\xb4\xa0\xac\x9d~\x00@@i\xea\x90\xb0\xba\xe7\".N3\xebO\xfcfU@\xa6\x00n\xb9T7I\x92R\xd4K@\xf2\xa2\xad3\xd8\x89 J\xd1\xeb,S\x06\x81_\x002\x99\x16\x11\"=\xb3\x1a n\xe6\x89K{}\xdf"+
		"\x87\xef\xfb3\x94\xa58(\x00\xe9\x05\x10\x02]\x84\x00\xc85AVj\x9aI\\D\x88\xd2\xdej\x94%\x84\x98:\xc7\x87a\x88~\xbf\x8f\x9d\x9d\x9d\x19@hT\x14\x84\xd7zAy0\xdbNU\xb9\"\xecD\xbe\x8d\x14\x82\xa1\x825z\xd7\x83\x95#D\x01\x98\x99|\xa0\xb5"+
		"\x9e\x01$\xd1\xd2V\xf1\x01\x04\x00M\xdb\x0dH\x9a\x1b0\x80\xd0/\xfc\x92d\xaa\x0c\x94\x1f~\xeb\xe9d%@\x00\xc4n\xd6\xe2d29\xd3\\$\"d\xc6^Z\x8d\xc22\xcb\xda^\xdd8\x8d\x06\xa7\x1fI\xa6\x9d\"\x1f\xb6\xd9\x87\\\x12!\xb9\x9b\xfa#\xa5\x9ci\xbf\xdb"+
		"4\x0e\x8am\x9f\xab\xe7C@@o)ei\xc33t\xed\xdb\x8eE\x92\xba\x08\x11w\xdb\xecgY\x96\x958\xcar\xf5\xc7\xb5k\xd7\xca\xf9X\x89\x12(\x92;\x81^X\xec*\xdfB\xca\"*\xa8\xaaj%e\xe5.B\xf0\xc1\xca\x11\xc2\xcc\xb9\xa3\xac\x19!\xb7#\xd5v"+
		"\xf2@ \x11\xfa\x12B`\xeb\"\x84\x19H\xacnT\xcd\xf5\xf4&\x89\x9b:\xc6\xeb\x8b\x10\xad5\xa6\xd3)\x92$\xc1\xc9\xc9I	\xcc\x89\xd9\x05\x00Da\x00\xdf\xb6@\xb6IC\x98\x8187\xa0\x9aK\x04\xa5\x86$\x05e	\x16G\xeb\x00$s\x94\xc5\xcc\xe5\xac\x0c\xd7\x96"+
		"\xcf\x8d\x07\x00\xb8>\xb0\x17\xd0.QWvc`P\xfd	\x18\xda\x08\x89\xad\x86\x90\xe0\xb5\x00\x92\xba\x08\xe9\xf5z\x90Rbww\xb7\xa4\xac\xa3\xe95 \x07\x06\xfd\xd0\x02\xc4\x1d\x18e\x84\x14\x80L-eI\xc8\xe3\xb5\x02\x02\x9c\xbdqSS\xb1\xf9\xb5\x9dhk\xaatb"+
		" \xc9\xeai\xaaNC\xa6e\xa7\x97\x8e\xd7FYD\x848\x8e\xa1\x94*\xeb\x10\"\xc28\xbbY\xd4 \xfd\x10\x80@n\xae\xf6\xad\xe4\xda0Re\xd0\xe6\xaa\xb2\xd3\x908\xcd-\x90\xe27+\x03\x02 qYV\xf5^C\x97q\xe5.B\xec\xb5\x90\xab\x9cae\x8aZ\xb7"+
		"\x85\xa4\x14\xf0d\x01\xc8hZ\xf4\xb1|aV\x8f\x10\"\xca\x9d\xa8\xf7\xfb}\x18c0\x18\x0cN\xef\x11Q\x11@\xc0N\xcf\xbf\xb2U:\x11\x90*SV\xe0m,\xb0\x19'\x11#\xb5\x95\xba\x11A+@\x96\xd5!e\x84\x14\x95y1\x83\xcf\x0d\xd7\xe9\xedE\x01\x88\xf8J"+
		"Q\x16s\x11\x15q\xa6\xcf\x05\x86\xd3\x0f\xe6\x99b\x91\xdez\xf5\x8b\x1f\xae\x83\xb2\xca\xc20\xcb2h\xad\x11\xc7qY(\xe6\xa6\xc0\xb3\x17z \x06\x94\xe2+\x01\x842\x04\xa5y\xa9p/\x02\xc4\x10cR\xb6Mp\xec\xa6\x9e\xacJY\xb1\xa3\xac<\xcf\xcbn\xafR\n"+
		"\x86\x00m7\x0fC\xdfF\xc8\xc3\xab!\xc4\x806\x85N\xf0\x8a\xe7\x95\xe7	\x18bL\x93\xb2\x8fu\xdcv\xdbeY\x96\x02\x8aK\xb8Q\x14A)U\xd6#\x89\xf6\x00U\xd0X\xe0{ z\xf8\xd2^\xa2\xe2r\x816|nZZ\xe8T\x0b\x88+\n"+
		"\xc1\xfc\xe1Z\x00A\xf1\xc0\x17\x10\x11\x84\x10\xf0}\x1fQTT\xe5\x89\x9d\xde\x1a\xf8\x1e<)@\xcc\xd0\x0f\xb80d.fL\xcd\xde\xd6P]\xc7`.\xa6\xe6\x101.\xeah=Q\xf8c\xea\x00\x118Z\x0b D\xa4]a\xe8h+MSdY\x86\xa9*6\x8d\xa2"+
		"\x00\x0c\xc00C] e9G2\x03\xc4\x0cb7\xcf\xd6\xbe^\xa2\xc8\x93r6B\x18X\x0fe	!\xa6\xeeJa\x92$%(Y\x96!\xb1\x8d\xc5\x9d^P\x9eq\xc4\xebq\x0bq\x912\x1a;\xc8:\xfea1\xcf\x01\xe2\xda&\x8c\xf5P\x96\xd6Z\xbb\xfb\xeb\xc20"+
		"\x84\xd6\xba\x9c\xdbKy\xcf\xd6 !\x88V\x8b\x0e\xc7\xe5\x0e\x00~\xc8\x935!\x8ah\xaeP\xd6z\x00\x91RN\\e\xee4\xa4\xd7\xeb\xd9\x19\x8b\xc5\x04\xb9^?\xb0N\xe4s\xd1\x8f&\xb6bJ\x0f=\x00g\xfc&\x04\x88\x18\x89k\x9b\xb4\xec\xf4\xb6\x11\xf5\xf2\xf1\x1aD"+
		"\x04\xa5TIYiY\x83\xf8 f,\x0b\x10\x97V\xae;\xa3\xb9\x94\x11\x02\xc0\x10\xca\x08\x91$\xd7\xa3!D4v\xd7\xd4\x93$)\x0b\xc4,\xcb\x90Y@\xa2\xd0\x07\x11`\x0c7\x16Y\xdb\x00\xc2\x993\xb9\xd26i\xdb\xe9m\xa3!\xe44$\x08\x020s\xf9 \x1am"+
		"\x8ak a\xe0\x177\x87V.Li\xc3%\x10\xdbfR\x08P\x91{#M\xdd\x9c^o=\x94\x15E\xd18\xcb2[}z\x88\xa2\x08\xfd~\xbfx\x08\x8d\n"+
		"\x00\x06\xa2\xc0\x87\xb1z\x90\xeb\xd5Z\x0eW\x02\x10)\xca\x8c3w\xbd\xac [\x8f\xa8gYFN\xac]\xff\xca\xb5Or\xdbX\xf4\x03\x0f\xca\x10\xc6\xb1B\xa6.o\xa5\xce\x1b:I\x04\n"+
		"\xb6\xc8r\x0dW\x1d\xc5G\x83\xf5P\xd6\xeb\xaf\xbf>z\xea\xa9\xa7\x00\x14\xcf>t\xcd\xc5I\x9c\xc2\xb0,+uGQ\x17\xf1G\xf3\x067\xe65\x1d\xaf1\xa7\xfa\x01`t\xe7\xf6\xd3\xf9\xba\xb2\xac\xf2\x18\xddS\x0e\xa4\x940\xb6m\"\x85\x80\x10\x12\xda\x10\x94\x99\xad\x1f6"+
		"MZ\xbc\xc1\x1f]\xf63\xcaP\xb5\x06\xb9{\x9e}\xb7y\"\xc1\x10\xc0\x9e\xef\xfb\x08\xc3B\xc8\xc7\xc6\x00c\xc0\x0f\x8a\x94\x97\x8c\xb0\x15\xf5\xba\xff8^\xebi\xbd\xa9\x93D\x13\x9fN!\xa5\xf6\x9d\xde\xb6\x80\x94\x1a\xe22\xad\xcc\xd8>V\xe8A\x17)\x05\xf4\x05\x16x\xbc"+
		"A\xef\xae\xba\xdb\xa2\xdebd\x99\xbb\xa8\xd7\xbe\xd3\xdb\x06\x10\xc1\xcc#!\xc4\x9e\x9bp\x1d\xc71\xc6\xc9N\xa1\x1f\x81\x0fc\n"+
		"\xe9\xaa\x9b\x8e\xc5\x1b\xf4\x16o\x10\x06^R\x7f(M\xe5\x9c^bZ\x1b >\x80\xa0\xe4E[\x8b\x00\x80\x11!\xc0@\xe0\xfb\xc8\x8d\x9d	\xcf\xeb\xff\xe3.\x02U\xbe\xe0\xb0b\xb2\x11\xa2,ei5\x02\xd0\x03\xa0\xed87 \xc2\x02\x11\x02\xf0\x99y\xe2\xae\xa5\x0f\x06\x03"+
		"x\x9e\x07$;@\x0ex\xbe\x07m\xc8\xb6\xc3\xf9B=\xb6\xc9$\x81W\xf8\xb2a\x00\x06\xa7\x93\x1bL\xee\x00Q(\xe60\xa8E?1\x0f\x88\xac\x80\x11\x00\x08\x84(\xae\x05W':h\x1b8\xbeMy\x17\xb5\xc7yS\x9e\xd8\x14h\xbc\xf8\xb7\x0c\x11\x08\x02\xb9\x8d\x10\xa3"+
		"\x921\x80\xc8\xfaV\xd8\x917\xed\xc2o\xa0)\x07JHD\xb1\xe7ye\x0d\x92$	bu\xab\x00Gz\xb6\xfe\xc0\xfdE\x08_\xf2\xb3\xff>6\xd2\xf6I\x0f\xee\x046\xe9xh})\xe6\xf6\x98/\x03\xc4\xaf\x8c\xa02\\\xd5^>4\xc0\xdd\xa4#<y\xfe\xbbny"+
		"\x83\x8e|\x00\xe6\xba\xdeJ\x15m\x13\x95\x8c'\x16\x10\x06@\x95a\xech\x04D\xa2xj\x83o_=\xab!q\x91Q\x05\x18\x0c\x06\x08\x82\x00z\xd4\x03\x18\xf0=\x1f\xdc\xdd\x05=\x97\xf6\x9e\xb6\x9a\x00 \x1b\xbf?\xb6>5\x15 \x9c\xaf\xcf\x00\"+\xaf\xf3\xc3\x03P<"+
		"	\xd3\xfe\x80\x10\x02F\x04\xc8\xb9\x98\xa9\x18Fa\x87@m\x0f0\x87\xd6\x06`N\xdf\xff\xf1w\xdfm\xf0\xafD\xcd\x7f8\x92s\xd9U\xf5\xbd\xb0uH\x0c\x9c>\x11\xee0)\x9e]\xdc\xef\xf5\xe0y\xdd\x83f\xea\xec\xde\x87\xc5\x83\xafu6\xfe/\x15\x0f\xb9\xe2O\xd4\xbc"+
		"o\x04\x84+\xaf\xe5p\x11\x92e\x19\xeee!~zR\x08\xfa\xad\xdf\xb9\xd1y\xbe\x0e\x8c\xe3\x11\x8e\xee\x1e\x03\x0c>\xfe\xf9\x0f\xfe\xce\xd2\x14\xd7\xf8\xb7V\x1a\x9d\x86T\xc5\x86+\\Gq\x1c\x7f?\x8a\xa2/\xfc\x04\x7f\x06\xfe\xb5w\xfa\xc3\xf7\x868\xb97\xea\x10\x98i/"+
		"\x19\xa4\xf6\xb9&\xe9\xe8\x83\xdb\xff\xff\xa3\x7f\xfc\xe9\x9co\xa9\xc6\xd7\x8d\xa2\xee@\xd0\x15\x0d\xd1w\xee\xdc\xf9\xde\x13\x7f\xf4'\x9fe\xe1}\xb6\xba\xe1t\x92t\x08\xd4\x89:\xe9{\xf1\x87\xbf\xfc\x87\x9f\xfd\xcb\xd7\xff\xde\x16\x81\xaaR\xa5\xeb9q\xaf\xad\xca\xab\x16\xd6\x8c\x00@"+
		"\xf0\xf8g\xbe\xf8\xb9\xde\x8d\xdf\xff\x1c\xabq\xccL\xeefC	\x08f\xf0\x16\x89\x89P\xb1\xf6\xde\xd5\xecM\x8aBY\x1a\x06\x0b)<\xa1\xd2\xd1\xdd\xf7\xfe\xf3\x9f\xde\xd6\xc98\xb5\xcew\x80\xe4\x95\xd7\xeaX\n"+
		"\xc8\x99J\xbd2\xaauJ5S\xe0j\xbd\xb2\x85\xa6\xac\x1f\xabT\xa4+\x804\x01\xd3\xaaR\xa7\xca\x97y\xae\x88\xa9\xd6'^%m\xdbv@L\xc5W\\)\xf8L\x03(\x0b{YbI\xe3\xb1\x1a\x19\xf3`\xc8\xca>\xfc-\x06D\xcfe\xa64\x07\x88\x99\xd3\x91\xc5\x84"+
		"\xd8b\xfd|\xf5.;@\xceP\x16\x1aX\xc5\xb4\x05\xa2- \xf3\xfa2_e\x8a\x0e\x90F@\xdc8_\xca\xb0\x8e\xb4c\xcb5$Gg\x9du\xd6Yg\x9du\xd6Yg\x9du\xd6Yg\x9duvE\xed\xb7\x8bjI\xe6\xc3\x16\x92\xe2\x00\x00\x00\x00IEND\xaeB"+
		"`\x82"))
}
func init() {
	Files.Add("create_item.css", 120, time.Unix(0, 1370942742232957700), fileembed.String(".cam-createitem-link {\n"+
		"  font-size: 40pt;\n"+
		"  text-decoration: none;\n"+
		"}\n"+
		"\n"+
		".cam-createitem {\n"+
		"  cursor: pointer !important;\n"+
		"}\n"+
		""))
}
Example #13
0
func init() {
	Files.Add("toolbar.css", 202, time.Unix(0, 1370942742232957700), fileembed.String(".cam-toolbar-magnify {\n"+
		"  display: block;\n"+
		"  vertical-align: middle;\n"+
		"  text-align: center;\n"+
		"  font-size: 16px;\n"+
		"  font-weight: bold;\n"+
		"}\n"+
		"\n"+
		".cam-toolbar-magnify .goog-toolbar-button-inner-box {\n"+
		"  width: 20px;\n"+
		"}"))
}
Example #14
0
func init() {
	Files.Add("index.html", 1626, fileembed.String("<html>\n"+
		"<head>\n"+
		"  <title>Recent Permanodes</title>\n"+
		"  <script type=\"text/javascript\" src=\"base64.js\"></script>\n"+
		"  <script type=\"text/javascript\" src=\"Crypto.js\"></script>\n"+
		"  <script type=\"text/javascript\" src=\"SHA1.js\"></script>\n"+
		"  <script src=\"camli.js\"></script>\n"+
		"  <script src=\"index.js\"></script>\n"+
		"  <script src=\"?camli.mode=config&cb=Camli.onConfiguration\"></script>\n"+
		"  <link rel=\"stylesheet\" href=\"camli.css\">\n"+
		"  <link rel=\"stylesheet\" href=\"index.css\">\n"+
		"</head>\n"+
		"<body class=\"camli-ui-index\">\n"+
		"  <h1 id=\"topTitle\">Recent Permanodes</h1>\n"+
		"  <div id='toolbar'>\n"+
		"    <input type='button' id='btnList' value=\"list\"><input type='button' id='btnTh"+
		"umbs' value=\"thm\">\n"+
		"\n"+
		"    <input type='button' id='btnSmaller' value=\"-\"><input type='button' id='btnBi"+
		"gger' value=\"+\">\n"+
		"\n"+
		"    <form style=\"display: inline\" id=\"formView\">\n"+
		"      View:\n"+
		"      <select id=\"selectView\">\n"+
		"        <option value=\"recent\">Recent</a>\n"+
		"        <option value=\"date\">From &lt;date&gt;...</a>\n"+
		"        <option id=\"optFromSel\" value=\"fromsel\" disabled='true'>From selected ite"+
		"m</a>\n"+
		"        <optiongroup title=\"Debug\">\n"+
		"          <option value=\"search\">Old Search</a>\n"+
		"          <option value=\"debug:disco\">Debug: Discovery</a>\n"+
		"          <option value=\"debug:signing\">Debug: Signing</a>\n"+
		"          <option value=\"debug:misc\">Debug: Misc</a>\n"+
		"        </optiongroup>\n"+
		"      </select>\n"+
		"    </form>\n"+
		"\n"+
		"    <form style=\"float: right\" id=\"formSearch\">\n"+
		"      <input type=\"text\" id=\"textSearch\" size=15 title=\"Search\"><input type=\"subm"+
		"it\" id=\"btnSearch\" value=\"Srch\">\n"+
		"    </form>\n"+
		"  </div>\n"+
		"  <ul id=\"recent\"></ul>\n"+
		"\n"+
		"  <div style=\"display: block; clear: both\" id=\"debugstatus\"></div>\n"+
		"\n"+
		"</body>\n"+
		"</html>\n"+
		""), time.Unix(0, 1358714562000000000))
}
func init() {
	Files.Add("blob_item_test.html", 1505, time.Unix(0, 1370942742232957700), fileembed.String("<!doctype html>\n"+
		"<html>\n"+
		"  <head>\n"+
		"    <script src=\"closure/goog/base.js\"></script>\n"+
		"    <script src=\"./deps.js\"></script>\n"+
		"    <script>\n"+
		"      goog.require('camlistore.BlobItem');\n"+
		"    </script>\n"+
		"    <link rel=\"stylesheet\" href=\"blob_item.css\" type=\"text/css\">\n"+
		"  </head>\n"+
		"  <body>\n"+
		"    <script>\n"+
		"      var blobRef = 'sha1-5660088af0aa0d4f2294088f41284002a1baaa29';\n"+
		"      var metaBag = {\n"+
		"        'sha1-5660088af0aa0d4f2294088f41284002a1baaa29': {\n"+
		"          'blobRef': 'sha1-5660088af0aa0d4f2294088f41284002a1baaa29',\n"+
		"          'camliType': 'permanode',\n"+
		"          'mimeType': 'application/json; camliType=permanode',\n"+
		"          'permanode': {\n"+
		"            'attr': {\n"+
		"              'camliContent': ['sha1-c2379bcf77848c90d2c83709aaf7f628a21ff725']\n"+
		"            }\n"+
		"          },\n"+
		"          'size': 556,\n"+
		"          'thumbnailHeight': 100,\n"+
		"          'thumbnailSrc': 'thumbnail/sha1-c2379bcf77848c90d2c83709aaf7f628a21ff72"+
		"5/leisure-suit-tony.gif?mw=100&mh=100',\n"+
		"          'thumbnailWidth': 100\n"+
		"        },\n"+
		"        'sha1-c2379bcf77848c90d2c83709aaf7f628a21ff725': {\n"+
		"          'blobRef': 'sha1-c2379bcf77848c90d2c83709aaf7f628a21ff725',\n"+
		"          'camliType': 'file',\n"+
		"          'file': {\n"+
		"            'size': 37741,\n"+
		"            'fileName': 'leisure-suit-tony.gif',\n"+
		"            'mimeType': 'image/gif'\n"+
		"          },\n"+
		"          'mimeType': 'application/json; camliType=file',\n"+
		"          'size': 198\n"+
		"        }\n"+
		"      };\n"+
		"\n"+
		"      var x = new camlistore.BlobItem(blobRef, metaBag);\n"+
		"      x.render(document.body);\n"+
		"    </script>\n"+
		"  </body>\n"+
		"</html>\n"+
		""))
}
Example #16
0
func init() {
	Files.Add("index.css", 187, time.Unix(0, 1370942742232957700), fileembed.String(".cam-index-page {\n"+
		"	font: 16px/1.4 normal Arial, sans-serif;\n"+
		"}\n"+
		"\n"+
		".cam-index-title {\n"+
		"	display: inline-block;\n"+
		"}\n"+
		"\n"+
		".cam-index-serverinfo {\n"+
		"	display: inline;\n"+
		"	float: right;\n"+
		"	font-size: small;\n"+
		"}\n"+
		""))
}
Example #17
0
func init() {
	Files.Add("blobinfo.css", 226, time.Unix(0, 1370942742232957700), fileembed.String(".cam-blobinfo-page {\n"+
		"  font: 16px/1.4 normal Arial, sans-serif;\n"+
		"}\n"+
		".cam-blobinfo-page #blobdata {\n"+
		"  overflow: auto;\n"+
		"  max-width: 800px;\n"+
		"}\n"+
		".cam-blobinfo-nav:before {\n"+
		"  content: \"[\";\n"+
		"}\n"+
		".cam-blobinfo-nav:after {\n"+
		"  content: \"]\";\n"+
		"}\n"+
		""))
}
Example #18
0
func init() {
	Files.Add("disco.html", 1238, fileembed.String("<html>\n"+
		"<head>\n"+
		"  <title>Camlistored UI</title>\n"+
		"  <script src=\"camli.js\"></script>\n"+
		"  <script src=\"sigdebug.js\"></script>\n"+
		"  <script src=\"./?camli.mode=config&cb=Camli.onConfiguration\"></script>\n"+
		"<script>\n"+
		"\n"+
		"// Or get configuration info like this:\n"+
		"function discover() {\n"+
		"    var xhr = new XMLHttpRequest();\n"+
		"    xhr.onreadystatechange = function() {\n"+
		"        if (xhr.readyState != 4) { return; }\n"+
		"        if (xhr.status != 200) {\n"+
		"            console.log(\"no status 200; got \" + xhr.status);\n"+
		"            return;\n"+
		"        }\n"+
		"        disco = JSON.parse(xhr.responseText);\n"+
		"        document.getElementById(\"discores\").innerHTML = \"<pre>\" + JSON.stringify("+
		"disco, null, 2) + \"</pre>\";\n"+
		"    };\n"+
		"    xhr.open(\"GET\", \"./?camli.mode=config\", true);\n"+
		"    xhr.send();\n"+
		"}\n"+
		"\n"+
		"\n"+
		"</script>\n"+
		"</head>\n"+
		"<body>\n"+
		"  <form>\n"+
		"    <h2>Root Discovery</h2>\n"+
		"    <p><input type=\"button\" id=\"discobtn\" onclick=\"discover()\" value=\"Do Discover"+
		"y\" /></p>\n"+
		"    <div id=\"discores\" style=\"border: 2px solid gray\">(discovery results)</div>\n"+
		"\n"+
		"\n"+
		"    <h2>Signing Discovery</h2>\n"+
		"    <p><input type=\"button\" id=\"sigdiscobtn\" onclick=\"discoverJsonSign()\" value=\""+
		"Do jsonSign discovery\" /></p>\n"+
		"    <div id=\"sigdiscores\" style=\"border: 2px solid gray\">(jsonsign discovery resu"+
		"lts)</div>\n"+
		"  </form>\n"+
		"</body>\n"+
		"</html>\n"+
		""), time.Unix(0, 1358714649000000000))
}
func init() {
	Files.Add("blobinfo.html", 1350, time.Unix(0, 1370942742232957700), fileembed.String("<!doctype html>\n"+
		"<html>\n"+
		"<head>\n"+
		"	<title>Blob info</title>\n"+
		"	<script src=\"closure/goog/base.js\"></script>\n"+
		"	<script src=\"./deps.js\"></script>\n"+
		"	<script src=\"?camli.mode=config&var=CAMLISTORE_CONFIG\"></script>\n"+
		"	<!-- Begin non-Closure cheating; but depended on by server_connection.js -->\n"+
		"	<script type=\"text/javascript\" src=\"base64.js\"></script>\n"+
		"	<script type=\"text/javascript\" src=\"Crypto.js\"></script>\n"+
		"	<script type=\"text/javascript\" src=\"SHA1.js\"></script>\n"+
		"	<!-- End non-Closure cheating -->\n"+
		"	<link rel=\"stylesheet\" href=\"blobinfo.css\">\n"+
		"	<script>\n"+
		"		goog.require('camlistore.BlobPage');\n"+
		"	</script>\n"+
		"</head>\n"+
		"<body class=\"cam-blobinfo-page\">\n"+
		"	<div class=\"cam-blobinfo-nav\"><a href=\"./\">Home</a></div>\n"+
		"	<h1>Blob Contents</h1>\n"+
		"\n"+
		"	<div id=\"thumbnail\"></div>\n"+
		"	<span id=\"editspan\" class=\"cam-blobinfo-nav\" style=\"display: none;\"><a href=\"#\" "+
		"id=\"editlink\">edit</a></span>\n"+
		"	<span id=\"blobdownload\" class=\"cam-blobinfo-nav\"></span>\n"+
		"	<span id=\"blobdescribe\" class=\"cam-blobinfo-nav\"></span>\n"+
		"	<span id=\"blobbrowse\" class=\"cam-blobinfo-nav\"></span>\n"+
		"\n"+
		"	<pre id=\"blobdata\"></pre>\n"+
		"\n"+
		"	<h1>Indexer Metadata</h1>\n"+
		"	<pre id=\"blobmeta\"></pre>\n"+
		"\n"+
		"	<div id=\"claimsdiv\" style=\"visibility: hidden\">\n"+
		"		<h1>Mutation Claims</h1>\n"+
		"		<pre id=\"claims\"></pre>\n"+
		"	</div>\n"+
		"\n"+
		"	<script>\n"+
		"		var page = new camlistore.BlobPage(CAMLISTORE_CONFIG);\n"+
		"		page.decorate(document.body);\n"+
		"	</script>\n"+
		"</body>\n"+
		"</html>\n"+
		""))
}
Example #20
0
func init() {
	Files.Add("favicon.ico", 1150, fileembed.String("\x00\x00\x01\x00\x01\x00\x10\x10\x00\x00\x01\x00 \x00h\x04\x00\x00\x16\x00\x00\x00(\x00\x00\x00\x10\x00\x00\x00 \x00\x00\x00\x01\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00"+
		"\x00\x00\xda\xff\x0e\x00\xda\xffh\x00\xda\xff\xf0\x00\xda\xff\xe0\x00\xda\xffO\x00\xda\xff\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x10\x00\xda\xffX\x00\xd9\xff\xce\x00\xdf\xff\xff\x00\xde\xff\xfa\x00\xde\xff\xf6"+
		"\x00\xe1\xff\xfe\x00\xda\xff\xba\x00\xda\xffL\x00\xdb\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xffY\x00\xd9\xff\xc2\x00\xda\xff\xf3\x00\xec\xff\xf3\x00\xfb\xff\xf5\x00\xe6\xff\xf5\x00\xe3\xff\xf9\x00\xfc\xff\xf4\x00\xef\xff\xf6\x00\xdc\xff\xea\x00\xd9\xff\xb7\x00"+
		"\xda\xffH\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff'\x00\xda\xff\xc2\x00\xd9\xff\xf2\x00\xe9\xff\xe9\x00\xfc\xff\xf6\x00\xfe\xff\xfd\x00\xff\xff\xff\x00\xe6\xff\xf7\x00\xe5\xff\xf7\x00\xf1\xff\xff\x00\xf4\xff\xfd\x00\xfd\xff\xfa\x00\xea\xff\xe6\x00\xda\xff\xf1\x00\xda\xff\xaf\x00\xda\xff\x15\x00\xda\xff\xfb\x00\xe1"+
		"\xff\xf2\x00\xfa\xff\xed\x00\xff\xff\xff\x00\xff\xff\xff\x00\xfe\xff\xfe\x00\xff\xff\xff\x00\xe6\xff\xf7\x00\xe1\xff\xfb\x00\xfa\xff\xff\x00\xf8\xff\xfe\x00\xea\xff\xff\x00\xf7\xff\xff\x00\xf1\xff\xf3\x00\xdf\xff\xfc\x00\xda\xff\xd6\x00\xda\xffx\x00\xe2\xff\xfd\x00\xfc\xff\xf8\x00\xff\xff\xff\x00\xff\xff\xff\x00\xff\xff"+
		"\xff\x00\xff\xff\xff\x00\xe6\xff\xf7\x00\xe4\xff\xf8\x00\xf2\xff\xff\x00\xf1\xff\xff\x00\xee\xff\xff\x00\xf3\xff\xfe\x00\xee\xff\xf8\x00\xdf\xff\xfd\x00\xda\xffa\x00\xda\xff	\x00\xda\xff\xb7\x00\xea\xff\xf6\x00\xfe\xff\xfe\x00\xfe\xff\xfe\x00\xff\xff\xff\x00\xff\xff\xff\x00\xe6\xff\xf6\x00\xe3\xff\xf8\x00\xf1\xff\xff"+
		"\x00\xf4\xff\xff\x00\xfa\xff\xfe\x00\xf7\xff\xfe\x00\xe4\xff\xfb\x00\xd9\xff\xa7\x00\xdb\xff\x05\x00\x00\x00\x00\x00\xda\xff9\x00\xd9\xff\xe4\x00\xf7\xff\xef\x00\xff\xff\xff\x00\xfe\xff\xfe\x00\xff\xff\xff\x00\xe6\xff\xf7\x00\xe6\xff\xf7\x00\xff\xff\xff\x00\xf6\xff\xfe\x00\xec\xff\xff\x00\xee\xff\xf1\x00\xd9\xff\xde\x00"+
		"\xda\xff/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\xff\x86\x00\xdc\xff\xec\x00\xfe\xff\xf4\x00\xff\xff\xff\x00\xff\xff\xff\x00\xe6\xff\xf7\x00\xe0\xff\xfb\x00\xf6\xff\xff\x00\xf0\xff\xff\x00\xfc\xff\xf4\x00\xdb\xff\xf1\x00\xda\xffx\x00\x00\x00\x00\x00\xdb\xff\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\xdc"+
		"\xff\x03\x00\xda\xff\xcc\x00\xe6\xff\xef\x00\xff\xff\xfa\x00\xff\xff\xff\x00\xe6\xff\xf7\x00\xe4\xff\xf8\x00\xf1\xff\xff\x00\xf0\xff\xfa\x00\xe2\xff\xf5\x00\xda\xff\xc1\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\xdb\xff$\x00\xdb\xff\xf6\x00\xf1\xff\xf1\x00\xff\xff"+
		"\xfe\x00\xe6\xff\xf6\x00\xe3\xff\xf8\x00\xf2\xff\xff\x00\xeb\xff\xf2\x00\xdb\xff\xf3\x00\xdb\xff\x1b\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\xda\xffW\x00\xdf\xff\xff\x00\xfb\xff\xf5\x00\xe6\xff\xf7\x00\xe1\xff\xfc\x00\xf1\xff\xf8\x00\xde\xff\xff"+
		"\x00\xda\xffM\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\xdb\xff\x06\x00\xd9\xff\xab\x00\xeb\xff\xf2\x00\xe5\xff\xf4\x00\xe4\xff\xf4\x00\xe7\xff\xf7\x00\xd9\xff\xa3\x00\xdb\xff\x05\x00\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
		"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\xff*\x00\xda\xff\xde\x00\xde\xff\xf2\x00\xde\xff\xf2\x00\xdb\xff\xda\x00\xda\xff'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"+
		"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xda\xffl\x00\xda\xff\xfe\x00\xda\xff\xfe\x00\xda\xffk\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff"+
		"\xb0\x00\xdb\xff\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdb\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\x7f\x00\x00\xf8\x1f\x00\x00\xe0\x07\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x80\x01\x00\x00\xc0\x03\x00\x00\xc0\x07\x00\x00\xe0\x07\x00\x00\xf0\x0f\x00\x00\xf8\x1f\x00\x00"+
		"\xf8\x1f\x00\x00\xfc?\x00\x00\xfe\x7f\x00\x00\xfe\x7f\x00\x00"), time.Unix(0, 1363391867493748683))
}
Example #21
0
func init() {
	Files.Add("signing.html", 1242, fileembed.String("<html>\n"+
		"<head>\n"+
		"  <title>Camlistored UI</title>\n"+
		"  <script src=\"camli.js\"></script>\n"+
		"  <script src=\"sigdebug.js\"></script>\n"+
		"  <script src=\"./?camli.mode=config&cb=Camli.onConfiguration\"></script>\n"+
		"</head>\n"+
		"<body>\n"+
		"  <h1>Signing Debug</h1>\n"+
		"  <form>\n"+
		"    <p><input type=\"button\" id=\"sigdiscobtn\" onclick=\"discoverJsonSign()\" value=\""+
		"Do jsonSign discovery\" /></p>\n"+
		"    <div id=\"sigdiscores\" style=\"border: 2px solid gray\">(jsonsign discovery resu"+
		"lts)</div>\n"+
		"\n"+
		"    <table>\n"+
		"      <tr align='left'>\n"+
		"        <th>JSON blob to sign: <input type='button' id='addkeyref' onclick='addKe"+
		"yRef()' value=\"Add keyref\"/></th>\n"+
		"        <th></th>\n"+
		"        <th>Signed blob:</th>\n"+
		"        <th></th>\n"+
		"        <th>Verification details:</th>\n"+
		"      </tr>\n"+
		"      <tr>\n"+
		"        <td><textarea id='clearjson' rows=10 cols=40>{\"camliVersion\": 1,\n"+
		" \"camliType\": \"whatever\",\n"+
		" \"foo\": \"bar\"\n"+
		"}</textarea></td>\n"+
		"        <td valign='middle'><input type='button' id='sign' onclick='doSign()' val"+
		"ue=\"Sign &gt;&gt;\" /></td>\n"+
		"        <td><textarea id=\"signedjson\" rows=10 cols=40></textarea></td>\n"+
		"        <td valign='middle'><input type='button' id='sign' onclick='doVerify()' v"+
		"alue=\"Verify &gt;&gt;\" /></td>\n"+
		"        <td><div id='verifyinfo'></div></td>\n"+
		"      </tr>\n"+
		"    </table>\n"+
		"  </form>\n"+
		"\n"+
		"</body>\n"+
		"</html>\n"+
		""), time.Unix(0, 1358714701000000000))
}
Example #22
0
func init() {
	Files.Add("debug.html", 1258, fileembed.String("<html>\n"+
		"<head>\n"+
		"  <title>Camlistored UI</title>\n"+
		"  <script type=\"text/javascript\" src=\"base64.js\"></script>\n"+
		"  <script type=\"text/javascript\" src=\"Crypto.js\"></script>\n"+
		"  <script type=\"text/javascript\" src=\"SHA1.js\"></script>\n"+
		"  <script src=\"camli.js\"></script>\n"+
		"  <script src=\"debug.js\"></script>\n"+
		"  <script src=\"?camli.mode=config&cb=Camli.onConfiguration\"></script>\n"+
		"  <link rel=\"stylesheet\" href=\"camli.css\">\n"+
		"</head>\n"+
		"<body class=\"camli-ui-index\">\n"+
		"  <h1>Camlistored UI</h1>\n"+
		"  <p class=\"camli-nav\"><strong>Debug:</strong>\n"+
		"    <a href=\"disco.html\">discovery</a> |\n"+
		"    <a href=\"signing.html\">signing</a></p>\n"+
		"\n"+
		"  <button id=\"btnNew\">New</button> - create a new item or collection \n"+
		"\n"+
		"  <h2>Recent Objects</h2>\n"+
		"  <p class=\"camli-nav\">\n"+
		"    <strong>View:</strong>\n"+
		"    <a href=\"recent.html\">thumbnails</a></p>\n"+
		"  <ul id=\"recent\"></ul>\n"+
		"\n"+
		"  <h2>Search</h2>\n"+
		"  <form id=\"formSearch\">\n"+
		"    <p>\n"+
		"      <input id=\"inputSearch\" placeholder=\"tag1\">\n"+
		"      <input type=\"submit\" id=\"btnSearch\" value=\"Search\">\n"+
		"  </form>\n"+
		"\n"+
		"  <h2>Upload</h2>\n"+
		"  <form method=\"POST\" id=\"uploadform\" enctype=\"multipart/form-data\">\n"+
		"    <input type=\"file\" id=\"fileinput\" multiple=\"true\" name=\"file\" disabled=\"true\""+
		">\n"+
		"    <input type=\"submit\" id=\"filesubmit\" value=\"Upload\" disabled=\"true\">\n"+
		"  </form>\n"+
		"\n"+
		"</body>\n"+
		"</html>\n"+
		""), time.Unix(0, 1358714643000000000))
}
func init() {
	Files.Add("blob_item_container.css", 857, time.Unix(0, 1370942742232957700), fileembed.String(".cam-blobitemcontainer {\n"+
		"  outline: 0;  /* Do not show an outline when container has focus. */\n"+
		"  border-width: 5px;\n"+
		"  border-color: rgba(0, 0, 0, 0);\n"+
		"  border-style: dashed;\n"+
		"  position: relative;\n"+
		"  border-radius: 5px;\n"+
		"}\n"+
		".cam-blobitemcontainer-dropactive {\n"+
		"  border-color: #acf;\n"+
		"}\n"+
		".cam-blobitemcontainer-drag-indicator {\n"+
		"  position: absolute;\n"+
		"  left: 0;\n"+
		"  right: 0;\n"+
		"  bottom: 0;\n"+
		"  top: 0;\n"+
		"  display: none;\n"+
		"}\n"+
		".cam-blobitemcontainer-dropactive .cam-blobitemcontainer-drag-indicator {\n"+
		"  display: block;\n"+
		"}\n"+
		".cam-blobitemcontainer-drag-message {\n"+
		"  display: block;\n"+
		"  margin: 0 auto;\n"+
		"  border: 10px solid #acf;\n"+
		"  padding: 25px;\n"+
		"  background-color: #def;\n"+
		"  color: #000;\n"+
		"  font-size: 16px;\n"+
		"  font-family: sans-serif;\n"+
		"  width: 250px;\n"+
		"  opacity: 0.8;\n"+
		"  text-align: center;\n"+
		"  border-radius: 10px;\n"+
		"  margin-top: 30px;\n"+
		"}\n"+
		"\n"+
		".cam-blobitemcontainer-hidden {\n"+
		"  display: none;\n"+
		"}\n"+
		""))
}
Example #24
0
func init() {
	Files.Add("deps.js", 2862, time.Unix(0, 1370943020232927992), fileembed.String("goog.addDependency(\"../../blob_item.js\", [\"camlistore.BlobItem\"], [\"camlistore.Se"+
		"rverType\", \"goog.dom\", \"goog.dom.classes\", \"goog.events.EventHandler\", \"goog.even"+
		"ts.EventType\", \"goog.ui.Control\"]);\n"+
		"goog.addDependency(\"../../blob_item_container.js\", [\"camlistore.BlobItemContainer"+
		"\"], [\"goog.dom\", \"goog.dom.classes\", \"goog.events.Event\", \"goog.events.EventHandl"+
		"er\", \"goog.events.EventType\", \"goog.events.FileDropHandler\", \"goog.ui.Container\","+
		" \"camlistore.BlobItem\", \"camlistore.CreateItem\", \"camlistore.ServerConnection\"]);\n"+
		"goog.addDependency(\"../../blobinfo.js\", [\"camlistore.BlobPage\"], [\"goog.dom\", \"go"+
		"og.ui.Component\", \"camlistore.ServerConnection\"]);\n"+
		"goog.addDependency(\"../../create_item.js\", [\"camlistore.CreateItem\"], [\"goog.dom\""+
		", \"goog.dom.classes\", \"goog.events.EventHandler\", \"goog.events.EventType\", \"goog."+
		"ui.Control\"]);\n"+
		"goog.addDependency(\"../../filetree.js\", [\"camlistore.FiletreePage\"], [\"goog.dom\","+
		" \"goog.events.EventType\", \"goog.ui.Component\", \"camlistore.ServerConnection\"]);\n"+
		"goog.addDependency(\"../../index.js\", [\"camlistore.IndexPage\"], [\"goog.array\", \"go"+
		"og.dom\", \"goog.dom.classes\", \"goog.events.EventHandler\", \"goog.events.EventType\","+
		" \"goog.ui.Component\", \"goog.ui.Textarea\", \"camlistore.BlobItemContainer\", \"camlis"+
		"tore.ServerConnection\", \"camlistore.Toolbar\", \"camlistore.Toolbar.EventType\", \"ca"+
		"mlistore.ServerType\"]);\n"+
		"goog.addDependency(\"../../permanode.js\", [\"camlistore.PermanodePage\"], [\"goog.dom"+
		"\", \"goog.events.EventHandler\", \"goog.events.EventType\", \"goog.events.FileDropHand"+
		"ler\", \"goog.ui.Component\", \"camlistore.BlobItem\", \"camlistore.BlobItemContainer\","+
		" \"camlistore.ServerConnection\"]);\n"+
		"goog.addDependency(\"../../pics.js\", [\"camlistore.GalleryPage\"], [\"goog.dom\", \"goo"+
		"g.events.EventHandler\", \"goog.events.EventType\", \"goog.ui.Component\", \"camlistore"+
		".ServerConnection\"]);\n"+
		"goog.addDependency(\"../../search.js\", [\"camlistore.SearchPage\"], [\"goog.array\", \""+
		"goog.dom\", \"goog.dom.classes\", \"goog.events.EventHandler\", \"goog.events.EventType"+
		"\", \"goog.ui.Component\", \"camlistore.BlobItemContainer\", \"camlistore.ServerConnect"+
		"ion\", \"camlistore.Toolbar\", \"camlistore.Toolbar.EventType\"]);\n"+
		"goog.addDependency(\"../../server_connection.js\", [\"camlistore.ServerConnection\"],"+
		" [\"camlistore.base64\", \"camlistore.SHA1\", \"goog.net.XhrIo\", \"goog.Uri\", \"goog.deb"+
		"ug.ErrorHandler\", \"goog.uri.utils\", \"camlistore.ServerType\"]);\n"+
		"goog.addDependency(\"../../server_type.js\", [\"camlistore.ServerType\"], []);\n"+
		"goog.addDependency(\"../../sigdebug.js\", [\"camlistore.DebugPage\"], [\"goog.dom\", \"g"+
		"oog.events.EventType\", \"goog.ui.Component\", \"camlistore.ServerConnection\"]);\n"+
		"goog.addDependency(\"../../toolbar.js\", [\"camlistore.Toolbar\", \"camlistore.Toolbar"+
		".EventType\"], [\"goog.dom\", \"goog.dom.classes\", \"goog.events.EventHandler\", \"goog."+
		"events.EventType\", \"goog.ui.MenuItem\", \"goog.ui.PopupMenu\", \"goog.ui.Toolbar\", \"g"+
		"oog.ui.ToolbarButton\", \"goog.ui.ToolbarMenuButton\"]);\n"+
		""))
}
func init() {
	Files.Add("create_item_test.html", 461, time.Unix(0, 1370942742232957700), fileembed.String("<!doctype html>\n"+
		"<html>\n"+
		"  <head>\n"+
		"    <script src=\"closure/goog/base.js\"></script>\n"+
		"    <script src=\"./deps.js\"></script>\n"+
		"    <script>\n"+
		"      goog.require('camlistore.CreateItem');\n"+
		"    </script>\n"+
		"    <link rel=\"stylesheet\" href=\"blob_item.css\" type=\"text/css\">\n"+
		"    <link rel=\"stylesheet\" href=\"create_item.css\" type=\"text/css\">\n"+
		"  </head>\n"+
		"  <body>\n"+
		"    <script>\n"+
		"      var x = new camlistore.CreateItem();\n"+
		"      x.render(document.body);\n"+
		"    </script>\n"+
		"  </body>\n"+
		"</html>\n"+
		""))
}
func init() {
	Files.Add("filetree.html", 551, fileembed.String("<!doctype html>\n"+
		"<html>\n"+
		"<head>\n"+
		"  <title>Gallery</title>\n"+
		"  <script src=\"base64.js\"></script>\n"+
		"  <script src=\"Crypto.js\"></script>\n"+
		"  <script src=\"SHA1.js\"></script>\n"+
		"  <script src=\"camli.js\"></script>\n"+
		"  <script src=\"?camli.mode=config&cb=onConfiguration\"></script>\n"+
		"  <script src=\"filetree.js\"></script>\n"+
		"  <link rel=\"stylesheet\" href=\"camli.css\">\n"+
		"</head>\n"+
		"<body class=\"camli-ui-permanode\">\n"+
		"  <div class=\"camli-nav\"><a href=\"./\">Home</a></div>\n"+
		"  <h1>FileTree for <span id=\"curDir\" class=\"camli-nav\"></span> </h1>\n"+
		"\n"+
		"  <div id=\"children\"></div>\n"+
		"\n"+
		"</body>\n"+
		"</html>\n"+
		""), time.Unix(0, 1349725494193783184))
}
func init() {
	Files.Add("permanode.css", 606, time.Unix(0, 1370942742232957700), fileembed.String(".cam-permanode-page {\n"+
		"  font: 16px/1.4 normal Arial, sans-serif;\n"+
		"}\n"+
		".cam-permanode-nav:before {\n"+
		"  content: \"[\";\n"+
		"}\n"+
		".cam-permanode-nav:after {\n"+
		"  content: \"]\";\n"+
		"}\n"+
		".cam-permanode-del {\n"+
		"  text-decoration: underline;\n"+
		"  cursor: pointer;\n"+
		"  color: darkred;\n"+
		"  margin-left: .4em;\n"+
		"  font-size: 80%;\n"+
		"}\n"+
		".cam-permanode-tag-c {\n"+
		"  margin-right: .5em;\n"+
		"}\n"+
		".cam-permanode-tag {\n"+
		"  font-style: italic;\n"+
		"}\n"+
		".cam-permanode-dnd {\n"+
		"  border: 2px dashed black;\n"+
		"  min-height: 250px;\n"+
		"  padding: 10px;\n"+
		"}\n"+
		".cam-permanode-dnd-item {\n"+
		"  margin: 0.25em;\n"+
		"  border: 1px solid #888;\n"+
		"  padding: 0.25em;\n"+
		"}\n"+
		".cam-permanode-dnd-over {\n"+
		"  background: #eee;\n"+
		"}"))
}
func init() {
	Files.Add("permanode.html", 2667, fileembed.String("<!doctype html>\n"+
		"<html>\n"+
		"<head>\n"+
		"  <title>Permanode</title>\n"+
		"  <script src=\"base64.js\"></script>\n"+
		"  <script src=\"Crypto.js\"></script>\n"+
		"  <script src=\"SHA1.js\"></script>\n"+
		"  <script src=\"camli.js\"></script>\n"+
		"  <script src=\"?camli.mode=config&cb=onConfiguration\"></script>\n"+
		"  <script src=\"permanode.js\"></script>\n"+
		"  <link rel=\"stylesheet\" href=\"camli.css\">\n"+
		"</head>\n"+
		"<body class=\"camli-ui-permanode\">\n"+
		"  <div class=\"camli-nav\"><a href=\"./\">Home</a></div>\n"+
		"  <h1>Permanode</h1>\n"+
		"\n"+
		"  <p>\n"+
		"    Permalink:\n"+
		"    <span id=\"permanode\"></span>\n"+
		"    <span id=\"permanodeBlob\" class=\"camli-nav\"></span>\n"+
		"  </p>\n"+
		"\n"+
		"  <form id=\"formTitle\">\n"+
		"    <p>\n"+
		"      Title: <input type=\"text\" id=\"inputTitle\" size=\"30\" value=\"(loading)\" disab"+
		"led=\"disabled\">\n"+
		"      <input type=\"submit\" id=\"btnSaveTitle\" value=\"Save\" disabled=\"disabled\">\n"+
		"    </p>\n"+
		"  </form>\n"+
		"\n"+
		"  <form id=\"formTags\">\n"+
		"    <p>\n"+
		"      <label for=\"inputNewTag\">Tags:</label>\n"+
		"      <span id=\"spanTags\"></span>\n"+
		"      <input id=\"inputNewTag\" placeholder=\"tag1, tag2, tag3\">\n"+
		"      <input type=\"submit\" id=\"btnAddTag\" value=\"Add Tag(s)\">\n"+
		"  </form>\n"+
		"\n"+
		"  <form id=\"formAccess\">\n"+
		"  <p>Access:\n"+
		"    <select id=\"selectAccess\" disabled=\"disabled\">\n"+
		"      <option value=\"private\">Private</option>\n"+
		"      <option value=\"public\">Public</option>\n"+
		"    </select>\n"+
		"    <input type=\"submit\" id=\"btnSaveAccess\" value=\"Save\" disabled=\"disabled\">\n"+
		"\n"+
		"    ... with URL: <select id=\"selectPublishRoot\">\n"+
		"      <option value=\"\"></option>\n"+
		"      </select>\n"+
		"      <input type=\"text\" id=\"publishSuffix\" size=\"40\">\n"+
		"      <input type=\"submit\" id=\"btnSavePublish\" value=\"Set URL\">\n"+
		"  </p>\n"+
		"  </form>\n"+
		"\n"+
		"  <div id=\"existingPaths\"></div>\n"+
		"\n"+
		"  <div id=\"members\"></div>\n"+
		"\n"+
		"  <form id=\"formType\">\n"+
		"  <p>Type:\n"+
		"    <select id='type'>\n"+
		"      <option value=''>(None / auto)</option>\n"+
		"      <option value='_other'>(Other)</option>\n"+
		"      <option value=\"root\">Root (of a hierarchy)</option>\n"+
		"      <option value=\"collection\">Collection (e.g. directory, gallery)</option>\n"+
		"      <option value=\"file\">File</option>\n"+
		"      <option value=\"collection\">File Collection / Gallery</option>\n"+
		"      <option value=\"microblog\">Microblog Post</option>\n"+
		"      <option value=\"blog\">Blog Post</option>\n"+
		"    </select>\n"+
		"  </p>\n"+
		"  </form>\n"+
		"\n"+
		"  <p>\n"+
		"  <button id=\"btnGallery\"> Show gallery </button> \n"+
		"  </p>\n"+
		"\n"+
		"  <div id=\"content\"></div>\n"+
		"\n"+
		"  <div id=\"dnd\" class=\"camli-dnd\">\n"+
		"    <form id=\"fileForm\">\n"+
		"      <input type=\"file\" id=\"fileInput\" multiple=\"true\" onchange=\"\">\n"+
		"      <input type=\"submit\" id=\"fileUploadBtn\" value=\"Upload\">\n"+
		"    </form>\n"+
		"    <p id='filelist'>\n"+
		"      <em>or drag &amp; drop files here</em>\n"+
		"    </p>\n"+
		"    <pre id=\"info\"></pre>\n"+
		"  </div>\n"+
		"\n"+
		"  <h3>Current object attributes</h3>\n"+
		"  <pre id=\"debugattrs\" style=\"font-size: 8pt\"></pre>\n"+
		"\n"+
		"</body>\n"+
		"</html>\n"+
		""), time.Unix(0, 1354832601372888952))
}
Example #29
0
func init() {
	Files.Add("index.js", 10831, fileembed.String("/*\n"+
		"Copyright 2012 Camlistore Authors.\n"+
		"\n"+
		"Licensed under the Apache License, Version 2.0 (the \"License\");\n"+
		"you may not use this file except in compliance with the License.\n"+
		"You may obtain a copy of the License at\n"+
		"\n"+
		"	 http://www.apache.org/licenses/LICENSE-2.0\n"+
		"\n"+
		"Unless required by applicable law or agreed to in writing, software\n"+
		"distributed under the License is distributed on an \"AS IS\" BASIS,\n"+
		"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n"+
		"See the License for the specific language governing permissions and\n"+
		"limitations under the License.\n"+
		"*/\n"+
		"\n"+
		"var CamliIndexPage = {\n"+
		"    thumbSizes: [25, 50, 75, 100, 150, 200],\n"+
		"    thumbSizeIdx: 3\n"+
		"};\n"+
		"\n"+
		"CamliIndexPage.thumbSize = function() {\n"+
		"  return CamliIndexPage.thumbSizes[CamliIndexPage.thumbSizeIdx];\n"+
		"};\n"+
		"\n"+
		"CamliIndexPage.thumbBoxSize = function() {\n"+
		"  return 50 + CamliIndexPage.thumbSizes[CamliIndexPage.thumbSizeIdx];\n"+
		"};\n"+
		"\n"+
		"CamliIndexPage.thumbFontSize = function() {\n"+
		"  var fontSize = (CamliIndexPage.thumbSize() / 6);\n"+
		"  if (fontSize < 10) {\n"+
		"      fontSize = 10;\n"+
		"  }\n"+
		"  if (fontSize > 20) {\n"+
		"      fontSize = 20;\n"+
		"  }\n"+
		"  return fontSize + \"px\";\n"+
		"};\n"+
		"\n"+
		"CamliIndexPage.onLoad = function() {\n"+
		"    CamliIndexPage.startRecentLoading();\n"+
		"\n"+
		"    var selView = $(\"selectView\");\n"+
		"    var goTargets = {\n"+
		"      \"recent\": function() { alert(\"not implemented, but it's already in recent m"+
		"ode\"); },\n"+
		"      \"date\": function() { alert(\"TODO: pop up a date selector dialog\"); },\n"+
		"      \"fromsel\": function() { alert(\"TODO: go forward in time from selected item\""+
		"); },\n"+
		"      \"debug:signing\": \"signing.html\", \n"+
		"      \"debug:disco\": \"disco.html\",\n"+
		"      \"debug:misc\": \"debug.html\",\n"+
		"      \"search\": \"search.html\"\n"+
		"    };\n"+
		"    selView.addEventListener(\n"+
		"        \"change\",\n"+
		"        function(e) {\n"+
		"            var target = goTargets[selView.value];\n"+
		"            if (!target) {\n"+
		"                return;\n"+
		"            }\n"+
		"            if (typeof(target) == \"string\") {\n"+
		"                window.location = target;\n"+
		"            }\n"+
		"            if (typeof(target) == \"function\") {\n"+
		"                target();\n"+
		"            }\n"+
		"    });\n"+
		"\n"+
		"    $(\"formSearch\").addEventListener(\"submit\", CamliIndexPage.onSearchSubmit);\n"+
		"    $(\"btnSmaller\").addEventListener(\"click\", CamliIndexPage.sizeHandler(-1));\n"+
		"    $(\"btnBigger\").addEventListener(\"click\", CamliIndexPage.sizeHandler(1));\n"+
		"    setTextContent($(\"topTitle\"), Camli.config.ownerName + \"'s Vault\");\n"+
		"};\n"+
		"\n"+
		"CamliIndexPage.sizeHandler = function(idxDelta) {\n"+
		"    return function(e) { // onclick handler\n"+
		"        var newSize = CamliIndexPage.thumbSizeIdx + idxDelta;\n"+
		"        if (newSize < 0 || newSize >= CamliIndexPage.thumbSizes.length) {\n"+
		"            return;\n"+
		"        }\n"+
		"        CamliIndexPage.thumbSizeIdx = newSize;\n"+
		"        $(\"recent\").innerHTML = \"\";\n"+
		"        CamliIndexPage.startRecentLoading();\n"+
		"    };\n"+
		"};\n"+
		"\n"+
		"CamliIndexPage.startRecentLoading = function() {\n"+
		"    camliGetRecentlyUpdatedPermanodes({success: CamliIndexPage.onLoadedRecentItem"+
		"s, thumbnails: CamliIndexPage.thumbSize()});\n"+
		"};\n"+
		"\n"+
		"CamliIndexPage.onSearchSubmit = function(e) {\n"+
		"    e.preventDefault();\n"+
		"    e.stopPropagation();\n"+
		"    var searchVal = $(\"textSearch\").value;\n"+
		"    if (searchVal == \"\") {\n"+
		"        CamliIndexPage.startRecentLoading();\n"+
		"    } else {\n"+
		"        // TODO: super lame.  for now.  should just change filter\n"+
		"        // of existing page, without navigating away.\n"+
		"        window.location = \"search.html?t=tag&q=\" + searchVal;\n"+
		"    }\n"+
		"};\n"+
		"\n"+
		"var lastSelIndex = 0;\n"+
		"var selSetter = {};         // numeric index -> func(selected) setter\n"+
		"var currentlySelected = {}; // currently selected index -> true\n"+
		"var itemsSelected = 0;\n"+
		"\n"+
		"CamliIndexPage.setThumbBoxStyle = function(div) {\n"+
		"  div.style.width = CamliIndexPage.thumbBoxSize() + \"px\";\n"+
		"  div.style.height = CamliIndexPage.thumbBoxSize() + \"px\";\n"+
		"  div.style.maxWidth = CamliIndexPage.thumbBoxSize() + \"px\";\n"+
		"  div.style.maxHeight = CamliIndexPage.thumbBoxSize() + \"px\";\n"+
		"};\n"+
		"\n"+
		"// divFromResult converts the |i|th searchResult into\n"+
		"// a div element, style as a thumbnail tile.\n"+
		"function divFromResult(searchRes, i) {\n"+
		"    var result = searchRes.recent[i];\n"+
		"    var br = searchRes[result.blobref];\n"+
		"    var divperm = document.createElement(\"div\");\n"+
		"    CamliIndexPage.setThumbBoxStyle(divperm);\n"+
		"\n"+
		"    var setSelected = function(selected) {\n"+
		"        if (divperm.isSelected == selected) {\n"+
		"            return;\n"+
		"        }\n"+
		"	divperm.isSelected = selected;\n"+
		"	if (selected) {\n"+
		"	    lastSelIndex = i;\n"+
		"	    currentlySelected[i] = true;\n"+
		"	    divperm.classList.add(\"selected\");\n"+
		"	} else {\n"+
		"	    delete currentlySelected[selected];\n"+
		"	    lastSelIndex = -1;\n"+
		"	    divperm.classList.remove(\"selected\");\n"+
		"	}\n"+
		"        itemsSelected += selected ? 1 : -1;\n"+
		"        $(\"optFromSel\").disabled = (itemsSelected == 0);\n"+
		"    };\n"+
		"    selSetter[i] = setSelected;\n"+
		"    divperm.addEventListener(\n"+
		"        \"mousedown\", function(e) {\n"+
		"	    if (e.shiftKey) {\n"+
		"	        e.preventDefault(); // prevent browser range selection\n"+
		"	    }\n"+
		"	});\n"+
		"    divperm.addEventListener(\n"+
		"        \"click\", function(e) {\n"+
		"	    if (e.ctrlKey) {\n"+
		"		setSelected(!divperm.isSelected);\n"+
		"		return;\n"+
		"	    }\n"+
		"	    if (e.shiftKey) {\n"+
		"		if (lastSelIndex < 0) {\n"+
		"		    return;\n"+
		"		}\n"+
		"		var from = lastSelIndex;\n"+
		"		var to = i;\n"+
		"		if (to < from) {\n"+
		"		    from = i;\n"+
		"		    to = lastSelIndex;\n"+
		"		}\n"+
		"		for (var j = from; j <= to; j++) {\n"+
		"		    selSetter[j](true);\n"+
		"		}\n"+
		"		return;\n"+
		"	    }\n"+
		"	    for (var j in currentlySelected) {\n"+
		"		if (j != i) {\n"+
		"		    selSetter[j](false);\n"+
		"		}\n"+
		"	    }\n"+
		"	    setSelected(!divperm.isSelected);\n"+
		"	});\n"+
		"    var alink = document.createElement(\"a\");\n"+
		"    alink.href = \"./?p=\" + br.blobRef;\n"+
		"    var img = document.createElement(\"img\");\n"+
		"    img.src = br.thumbnailSrc;\n"+
		"    img.height = br.thumbnailHeight;\n"+
		"    img.width =  br.thumbnailWidth;\n"+
		"    alink.appendChild(img);\n"+
		"    divperm.appendChild(alink);\n"+
		"    var title = document.createElement(\"p\");\n"+
		"    setTextContent(title, camliBlobTitle(br.blobRef, searchRes));\n"+
		"    title.className = 'camli-ui-thumbtitle';\n"+
		"    title.style.fontSize = CamliIndexPage.thumbFontSize();\n"+
		"    divperm.appendChild(title);\n"+
		"    divperm.className = 'camli-ui-thumb';\n"+
		"    return divperm;\n"+
		"}\n"+
		"\n"+
		"// createPlusButton returns the div element that is both a button\n"+
		"// a drop zone for new file(s).\n"+
		"function createPlusButton() {\n"+
		"  var div = document.createElement(\"div\");\n"+
		"  div.id = \"plusdrop\";\n"+
		"  div.className = \"camli-ui-thumb\";\n"+
		"  CamliIndexPage.setThumbBoxStyle(div);\n"+
		"\n"+
		"  var plusLink = document.createElement(\"a\");\n"+
		"  plusLink.classList.add(\"plusLink\");\n"+
		"  plusLink.href = '#';\n"+
		"  plusLink.innerHTML = \"+\";\n"+
		"\n"+
		"  plusLink.style.fontSize = (CamliIndexPage.thumbSize() / 4 * 3) + \"px\";\n"+
		"  plusLink.style.marginTop = (CamliIndexPage.thumbSize() / 4) + \"px\";\n"+
		"  div.appendChild(plusLink);\n"+
		"\n"+
		"  var statusDiv = document.createElement(\"div\");\n"+
		"  statusDiv.innerHTML = \"Click or drag & drop files here.\";\n"+
		"  statusDiv.style.fontSize = CamliIndexPage.thumbFontSize();\n"+
		"\n"+
		"  // TODO: use statusDiv instead (hidden by default), but put\n"+
		"  // it somewhere users can get to it with a click.\n"+
		"  div.appendChild(statusDiv);\n"+
		"\n"+
		"  plusLink.addEventListener(\"click\", function(e) {\n"+
		"      e.preventDefault();\n"+
		"      camliCreateNewPermanode({\n"+
		"            success: function(blobref) {\n"+
		"               window.location = \"./?p=\" + blobref;\n"+
		"            },\n"+
		"            fail: function(msg) {\n"+
		"                alert(\"create permanode failed: \" + msg);\n"+
		"            }\n"+
		"        });\n"+
		"  });\n"+
		"  \n"+
		"  var stop = function(e) {\n"+
		"    this.classList && this.classList.add('camli-dnd-over');\n"+
		"    e.stopPropagation();\n"+
		"    e.preventDefault();\n"+
		"  };\n"+
		"  div.addEventListener(\"dragenter\", stop, false);\n"+
		"  div.addEventListener(\"dragover\", stop, false);\n"+
		"  div.addEventListener(\"dragleave\", function() {\n"+
		"      this.classList.remove('camli-dnd-over');\n"+
		"  }, false);\n"+
		"\n"+
		"  var drop = function(e) {\n"+
		"    this.classList.remove('camli-dnd-over');\n"+
		"    stop(e);\n"+
		"    var dt = e.dataTransfer;\n"+
		"    var files = dt.files;\n"+
		"    var subject = \"\";\n"+
		"    if (files.length == 1) {\n"+
		"      subject = files[0].name;\n"+
		"    } else {\n"+
		"      subject = files.length + \" files\";\n"+
		"    }\n"+
		"    statusDiv.innerHTML = \"Uploading \" + subject + \" (<a href='#'>status</a>)\";\n"+
		"    startFileUploads(files, document.getElementById(\"debugstatus\"), {\n"+
		"      success: function() {\n"+
		"          statusDiv.innerHTML = \"Uploaded.\";\n"+
		"\n"+
		"          // TODO(bradfitz): this just re-does the whole initial\n"+
		"          // query, and only at the very end of all the uploads.\n"+
		"          // it would be cooler if, when uploading a dozen\n"+
		"          // large files, we saw the permanodes load in one-at-a-time\n"+
		"          // as the became available.\n"+
		"          CamliIndexPage.startRecentLoading();\n"+
		"      }\n"+
		"    });\n"+
		"  };\n"+
		"  div.addEventListener(\"drop\", drop, false);\n"+
		"  return div;\n"+
		"}\n"+
		"\n"+
		"// files: array of File objects to upload and create permanods for.\n"+
		"//    If >1, also create an enclosing permanode for them to all\n"+
		"//    be members of.\n"+
		"// statusdiv: optional div element to log status messages to.\n"+
		"// opts:\n"+
		"// -- success: function([permanodes])\n"+
		"function startFileUploads(files, statusDiv, opts) {\n"+
		"  var parentNode = opts.parentNode;\n"+
		"  if (files.length > 1 && !parentNode) {\n"+
		"    // create a new parent permanode with dummy\n"+
		"    // title and re-call startFileUploads with\n"+
		"    // opts.parentNode set, so we upload into that.\n"+
		"  }\n"+
		"\n"+
		"  var log = function(msg) {\n"+
		"    if (statusDiv) {\n"+
		"      var p = document.createElement(\"p\");\n"+
		"      p.innerHTML = msg;\n"+
		"      statusDiv.appendChild(p);\n"+
		"    }\n"+
		"  };\n"+
		"\n"+
		"  var remain = files.length;\n"+
		"  log(\"Need to upload \" + remain + \" files\");\n"+
		"\n"+
		"  var permanodes = [];\n"+
		"  var fails = [];\n"+
		"  var decr = function() {\n"+
		"    remain--;\n"+
		"    log(remain + \" remaining now\");\n"+
		"    if (remain > 0) {\n"+
		"      return;\n"+
		"    }\n"+
		"    if (fails.length > 0) {\n"+
		"      if (opts.fail) {\n"+
		"        opts.fail(fails);\n"+
		"      }\n"+
		"      return\n"+
		"    }\n"+
		"    if (permanodes.length == files.length) {\n"+
		"      if (opts.success) {\n"+
		"        opts.success();\n"+
		"      }\n"+
		"    }\n"+
		"  };\n"+
		"  var permanodeGood = function(permaRef, fileRef) {\n"+
		"    log(\"File succeeeded: file=\" + fileRef + \" permanode=\" + permaRef);\n"+
		"    permanodes.push(permaRef);\n"+
		"    decr();\n"+
		"  };\n"+
		"  var fileFail = function(msg) {\n"+
		"    log(\"File failed: \" + msg);\n"+
		"    fails.push(msg);\n"+
		"    decr();\n"+
		"  };\n"+
		"  var fileSuccess = function(fileRef) {\n"+
		"    camliCreateNewPermanode({\n"+
		"      success: function(filepn) {\n"+
		"          camliNewSetAttributeClaim(filepn, \"camliContent\", fileRef, {\n"+
		"            success: function() {\n"+
		"                permanodeGood(filepn, fileRef);\n"+
		"            },\n"+
		"            fail: fileFail\n"+
		"            });\n"+
		"        }\n"+
		"    });\n"+
		"  };\n"+
		"  \n"+
		"  // TODO(bradfitz): do something smarter than starting all at once.\n"+
		"  // Only keep n in flight or something?\n"+
		"  for (var i = 0; i < files.length; i++) {\n"+
		"    camliUploadFile(files[i], {\n"+
		"      success: fileSuccess, \n"+
		"      fail: fileFail\n"+
		"    });\n"+
		"  }\n"+
		"}\n"+
		"\n"+
		"CamliIndexPage.onLoadedRecentItems = function (searchRes) {\n"+
		"    var divrecent = $(\"recent\");\n"+
		"    divrecent.innerHTML = \"\";\n"+
		"    divrecent.appendChild(createPlusButton());\n"+
		"    for (var i = 0; i < searchRes.recent.length; i++) {\n"+
		"	divrecent.appendChild(divFromResult(searchRes, i));\n"+
		"    }\n"+
		"};\n"+
		"\n"+
		"window.addEventListener(\"load\", CamliIndexPage.onLoad);\n"+
		""), time.Unix(0, 1356311255000000000))
}
Example #30
0
func init() {
	Files.Add("blob_item.js", 7628, time.Unix(0, 1370954334543804326), fileembed.String("/**\n"+
		" * @fileoverview An item showing in a blob item container; represents a blob\n"+
		" * that has already been uploaded in the system, or acts as a placeholder\n"+
		" * for a new blob.\n"+
		" *\n"+
		" */\n"+
		"goog.provide('camlistore.BlobItem');\n"+
		"\n"+
		"goog.require('camlistore.ServerType');\n"+
		"goog.require('goog.dom');\n"+
		"goog.require('goog.dom.classes');\n"+
		"goog.require('goog.events.EventHandler');\n"+
		"goog.require('goog.events.EventType');\n"+
		"goog.require('goog.ui.Control');\n"+
		"\n"+
		"\n"+
		"\n"+
		"/**\n"+
		" * @param {string} blobRef BlobRef for the item.\n"+
		" * @param {camlistore.ServerType.IndexerMetaBag} metaBag Maps blobRefs to\n"+
		" *   metadata for this blob and related blobs.\n"+
		" * @param {string} opt_contentLink if \"true\", use the contained file blob as link"+
		" when decorating\n"+
		" * @param {goog.dom.DomHelper=} opt_domHelper DOM helper to use.\n"+
		" *\n"+
		" * @extends {goog.ui.Control}\n"+
		" * @constructor\n"+
		" */\n"+
		"camlistore.BlobItem = function(blobRef, metaBag, opt_contentLink, opt_domHelper) "+
		"{\n"+
		"  goog.base(this, null, null, opt_domHelper);\n"+
		"\n"+
		"  // TODO(mpl): Hack so we know when to decorate with the blobref\n"+
		"  // of the contained file, instead of with the permanode, as the link.\n"+
		"  // Idiomatic alternative suggestion very welcome.\n"+
		"  /**\n"+
		"   * @type {string}\n"+
		"   * @private\n"+
		"   */\n"+
		"  this.useContentAsLink_ = \"false\"; \n"+
		"  \n"+
		"  if (typeof opt_contentLink !== \"undefined\" && opt_contentLink == \"true\") {\n"+
		"    this.useContentAsLink_ = opt_contentLink;\n"+
		"  }\n"+
		"\n"+
		"  /**\n"+
		"   * @type {string}\n"+
		"   * @private\n"+
		"   */\n"+
		"  this.blobRef_ = blobRef;\n"+
		"\n"+
		"  /**\n"+
		"   * @type {camlistore.ServerType.IndexerMetaBag}\n"+
		"   * @private\n"+
		"   */\n"+
		"  this.metaBag_ = metaBag;\n"+
		"\n"+
		"  /**\n"+
		"   * Metadata for the blobref this item represents.\n"+
		"   * @type {camlistore.ServerType.IndexerMeta}\n"+
		"   * @private\n"+
		"   */\n"+
		"  this.metaData_ = this.metaBag_[this.blobRef_];\n"+
		"\n"+
		"  /**\n"+
		"   * Metadata for the underlying blobref for this item; for example, this\n"+
		"   * would be the blobref that is currently the content for the permanode\n"+
		"   * specified by 'blobRef'.\n"+
		"   *\n"+
		"   * @type {camlistore.ServerType.IndexerMeta?}\n"+
		"   * @private\n"+
		"   */\n"+
		"  this.resolvedMetaData_ = camlistore.BlobItem.resolve(\n"+
		"      this.blobRef_, this.metaBag_);\n"+
		"\n"+
		"  /**\n"+
		"   * @type {goog.events.EventHandler}\n"+
		"   * @private\n"+
		"   */\n"+
		"  this.eh_ = new goog.events.EventHandler(this);\n"+
		"\n"+
		"  // Blob items support the CHECKED state.\n"+
		"  this.setSupportedState(goog.ui.Component.State.CHECKED, true);\n"+
		"\n"+
		"  // Blob items dispatch state when checked.\n"+
		"  this.setDispatchTransitionEvents(\n"+
		"      goog.ui.Component.State.CHECKED,\n"+
		"      true);\n"+
		"};\n"+
		"goog.inherits(camlistore.BlobItem, goog.ui.Control);\n"+
		"\n"+
		"\n"+
		"/**\n"+
		" * TODO(bslatkin): Handle more permanode types.\n"+
		" *\n"+
		" * @param {string} blobRef string BlobRef to resolve.\n"+
		" * @param {camlistore.ServerType.IndexerMetaBag} metaBag Metadata bag to use\n"+
		" *   for resolving the blobref.\n"+
		" * @return {camlistore.ServerType.IndexerMeta?}\n"+
		" */\n"+
		"camlistore.BlobItem.resolve = function(blobRef, metaBag) {\n"+
		"  var metaData = metaBag[blobRef];\n"+
		"  if (metaData.camliType == 'permanode' &&\n"+
		"      !!metaData.permanode &&\n"+
		"      !!metaData.permanode.attr) {\n"+
		"    if (!!metaData.permanode.attr.camliContent) {\n"+
		"      // Permanode is pointing at another blob.\n"+
		"      var content = metaData.permanode.attr.camliContent;\n"+
		"      if (content.length == 1) {\n"+
		"        return metaBag[content[0]];\n"+
		"      }\n"+
		"    } else {\n"+
		"      // Permanode is its own content.\n"+
		"      return metaData;\n"+
		"    }\n"+
		"  }\n"+
		"\n"+
		"  return null;\n"+
		"\n"+
		"};\n"+
		"\n"+
		"/**\n"+
		" * @return {boolean}\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.isCollection = function() {\n"+
		"	// TODO(mpl): for now disallow being a collection if it\n"+
		"	// has members. What else to check?\n"+
		"	if (!this.resolvedMetaData_ ||\n"+
		"		this.resolvedMetaData_.camliType != 'permanode' ||\n"+
		"		!this.resolvedMetaData_.permanode ||\n"+
		"		!this.resolvedMetaData_.permanode.attr ||\n"+
		"		!!this.resolvedMetaData_.permanode.attr.camliContent) {\n"+
		"			return false;\n"+
		"	}\n"+
		"	return true;\n"+
		"};\n"+
		"\n"+
		"/**\n"+
		" * @return {string}\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.getBlobRef = function() {\n"+
		"  return this.blobRef_;\n"+
		"};\n"+
		"\n"+
		"\n"+
		"/**\n"+
		" * @return {string}\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.getThumbSrc_ = function() {\n"+
		"  return './' + this.metaData_.thumbnailSrc;\n"+
		"};\n"+
		"\n"+
		"\n"+
		"/**\n"+
		" * @return {number}\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.getThumbHeight_ = function() {\n"+
		"  return this.metaData_.thumbnailHeight || 0;\n"+
		"};\n"+
		"\n"+
		"\n"+
		"/**\n"+
		" * @return {number}\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.getThumbWidth_ = function() {\n"+
		"  return this.metaData_.thumbnailWidth || 0;\n"+
		"};\n"+
		"\n"+
		"\n"+
		"/**\n"+
		" * @return {string}\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.getLink_ = function() {\n"+
		"  if (this.useContentAsLink_ == \"true\") {\n"+
		"    var b = this.getFileBlobref_();\n"+
		"    if (b == \"\") {\n"+
		"      b = this.getDirBlobref_();\n"+
		"    }\n"+
		"    return './?b=' + b;\n"+
		"  }\n"+
		"  return './?p=' + this.blobRef_;\n"+
		"};\n"+
		"\n"+
		"\n"+
		"/**\n"+
		" * @private\n"+
		" * @return {string}\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.getFileBlobref_ = function() {\n"+
		"	if (this.resolvedMetaData_ &&\n"+
		"		this.resolvedMetaData_.camliType == 'file') {\n"+
		"		return this.resolvedMetaData_.blobRef;\n"+
		"	}\n"+
		"	return \"\";\n"+
		"}\n"+
		"\n"+
		"/**\n"+
		" * @private\n"+
		" * @return {string}\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.getDirBlobref_ = function() {\n"+
		"	if (this.resolvedMetaData_ &&\n"+
		"		this.resolvedMetaData_.camliType == 'directory') {\n"+
		"		return this.resolvedMetaData_.blobRef;\n"+
		"	}\n"+
		"	return \"\";\n"+
		"}\n"+
		"\n"+
		"/**\n"+
		" * @return {string}\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.getTitle_ = function() {\n"+
		"	if (this.metaData_) {\n"+
		"		if (this.metaData_.camliType == 'permanode' &&\n"+
		"			!!this.metaData_.permanode &&\n"+
		"			!!this.metaData_.permanode.attr &&\n"+
		"			!!this.metaData_.permanode.attr.title) {		\n"+
		"			return this.metaData_.permanode.attr.title;\n"+
		"		}\n"+
		"	}\n"+
		"	if (this.resolvedMetaData_) {\n"+
		"		if (this.resolvedMetaData_.camliType == 'file' &&\n"+
		"			!!this.resolvedMetaData_.file) {\n"+
		"			return this.resolvedMetaData_.file.fileName;\n"+
		"		}\n"+
		"		if (this.resolvedMetaData_.camliType == 'directory' &&\n"+
		"	        !!this.resolvedMetaData_.dir) {\n"+
		"	      return this.resolvedMetaData_.dir.fileName;\n"+
		"	    }\n"+
		"		if (this.resolvedMetaData_.camliType == 'permanode' &&\n"+
		"			!!this.resolvedMetaData_.permanode &&\n"+
		"			!!this.resolvedMetaData_.permanode.attr &&\n"+
		"			!!this.resolvedMetaData_.permanode.attr.title) {\n"+
		"			return this.resolvedMetaData_.permanode.attr.title;\n"+
		"		}\n"+
		"	}\n"+
		"	return 'Unknown title';\n"+
		"};\n"+
		"\n"+
		"\n"+
		"/**\n"+
		" * Creates an initial DOM representation for the component.\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.createDom = function() {\n"+
		"  this.decorateInternal(this.dom_.createElement('div'));\n"+
		"};\n"+
		"\n"+
		"\n"+
		"/**\n"+
		" * Decorates an existing HTML DIV element.\n"+
		" * @param {Element} element The DIV element to decorate.\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.decorateInternal = function(element) {\n"+
		"  camlistore.BlobItem.superClass_.decorateInternal.call(this, element);\n"+
		"\n"+
		"  var el = this.getElement();\n"+
		"  goog.dom.classes.add(el, 'cam-blobitem');\n"+
		"\n"+
		"  var linkEl = this.dom_.createDom('a');\n"+
		"  linkEl.href = this.getLink_();\n"+
		"\n"+
		"  var thumbEl = this.dom_.createDom('img', 'cam-blobitem-thumb');\n"+
		"  thumbEl.src = this.getThumbSrc_();\n"+
		"  thumbEl.height = this.getThumbHeight_();\n"+
		"  thumbEl.width = this.getThumbWidth_();\n"+
		"\n"+
		"  this.dom_.appendChild(linkEl, thumbEl);\n"+
		"  this.dom_.appendChild(el, linkEl);\n"+
		"\n"+
		"  var titleEl = this.dom_.createDom('p', 'cam-blobitem-thumbtitle');\n"+
		"  this.dom_.setTextContent(titleEl, this.getTitle_());\n"+
		"  this.dom_.appendChild(el, titleEl);\n"+
		"};\n"+
		"\n"+
		"\n"+
		"/** @override */\n"+
		"camlistore.BlobItem.prototype.disposeInternal = function() {\n"+
		"  camlistore.BlobItem.superClass_.disposeInternal.call(this);\n"+
		"  this.eh_.dispose();\n"+
		"};\n"+
		"\n"+
		"\n"+
		"/**\n"+
		" * Called when component's element is known to be in the document.\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.enterDocument = function() {\n"+
		"  camlistore.BlobItem.superClass_.enterDocument.call(this);\n"+
		"  // Add event handlers here\n"+
		"};\n"+
		"\n"+
		"\n"+
		"/**\n"+
		" * Called when component's element is known to have been removed from the\n"+
		" * document.\n"+
		" */\n"+
		"camlistore.BlobItem.prototype.exitDocument = function() {\n"+
		"  camlistore.BlobItem.superClass_.exitDocument.call(this);\n"+
		"  // Clear event handlers here\n"+
		"};\n"+
		""))
}