mirror of
				https://github.com/flynx/ImageGrid.git
				synced 2025-10-31 19:30:07 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			304 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			HTML
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			304 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			HTML
		
	
	
		
			Executable File
		
	
	
	
	
| <!DOCTYPE html>
 | |
| <html>
 | |
| <head>
 | |
| 
 | |
| <meta name="msapplication-tap-highlight" content="no" />
 | |
| 
 | |
| <link rel="stylesheet" href="css/fonts.css">
 | |
| <link rel="stylesheet" href="css/layout.css">
 | |
| <link rel="stylesheet" href="css/editor.css">
 | |
| <link rel="stylesheet" href="css/widget/browse.css">
 | |
| <link rel="stylesheet" href="css/widget/overlay.css">
 | |
| <link rel="stylesheet" href="css/widget/drawer.css">
 | |
| 
 | |
| <link rel="stylesheet" href="css/loader.css">
 | |
| 
 | |
| <!-- XXX remove before use... -->
 | |
| <style>
 | |
| 
 | |
| 
 | |
| body {
 | |
| 	margin: 0;
 | |
| 	/* this will prevent odd blur effects when blurring out specific 
 | |
| 		elements... */
 | |
| 	background: black;
 | |
| 
 | |
| 	/*font: OpenSans, sans-serif;*/
 | |
| }
 | |
| 
 | |
| /* show image gid... */
 | |
| .visible-gid .image:after {
 | |
| 	content: attr(gid);
 | |
| 	display: block;
 | |
| 	position: relative;
 | |
| 	color: red;
 | |
| 	margin: 10px;
 | |
| 	width: 20px;
 | |
| 	height: 20px;
 | |
| 	text-align: center;
 | |
| 	border: solid 2px red;
 | |
| 	border-radius: 50%;
 | |
| 	background: black;
 | |
| }
 | |
| 
 | |
| 
 | |
| /*
 | |
| .image.current {
 | |
| 	border-color: red;
 | |
| }
 | |
| */
 | |
| 
 | |
| .shadow {
 | |
| 	margin: 0px;
 | |
| 	z-index: 4000;
 | |
| }
 | |
| .ui-bounds-indicators {
 | |
| 	z-index: 5000;
 | |
| }
 | |
| 
 | |
| /* basic animation... */
 | |
| .viewer:not(.no-transitions) {
 | |
| 	-webkit-transition: background-color 0.8s ease;
 | |
| 	-moz-transition: background-color 0.8s ease;
 | |
| 	-ms-transition: background-color 0.8s ease;
 | |
| 	-o-transition: background-color 0.8s ease;
 | |
| 	transition: background-color 0.8s ease;
 | |
| }
 | |
| 
 | |
| .viewer:not(.no-transitions) .ribbon-set:not(.no-transitions) {
 | |
| 	-webkit-transition: all 0.1s linear, transform 0.1s linear;
 | |
| 	-moz-transition: all 0.1s linear, transform 0.1s linear;
 | |
| 	-ms-transition: all 0.1s linear, transform 0.1s linear;
 | |
| 	-o-transition: all 0.1s linear, transform 0.1s linear;
 | |
| 	transition: all 0.1s linear, transform 0.1s linear;
 | |
| }
 | |
| 
 | |
| .viewer:not(.no-transitions) .ribbon:not(.no-transitions) {
 | |
| 	-webkit-transition: all 0.1s ease-out;
 | |
| 	-moz-transition: all 0.1s ease-out;
 | |
| 	-ms-transition: all 0.1s ease-out;
 | |
| 	-o-transition: all 0.1s ease-out;
 | |
| 	transition: all 0.1s ease-out;
 | |
| }
 | |
| 
 | |
| /* XXX not 100% sure about this...
 | |
| */
 | |
| :not(.no-transitions) .current-marker:not(.no-transitions) {
 | |
| 	-webkit-transition: transform 0.1s ease-out;
 | |
| 	-moz-transition: transform 0.1s ease-out;
 | |
| 	-ms-transition: transform 0.1s ease-out;
 | |
| 	-o-transition: transform 0.1s ease-out;
 | |
| 	transition: transform 0.1s ease-out;
 | |
| }
 | |
| 
 | |
| /* XXX should this be !important */
 | |
| .no-transitions {
 | |
| 	-webkit-transition: none;
 | |
| 	-moz-transition: none;
 | |
| 	-ms-transition: none;
 | |
| 	-o-transition: none;
 | |
| 	transition: none;
 | |
| }
 | |
| 
 | |
| /* XXX think of a way not to use !important */
 | |
| .single-image-mode .ribbon,
 | |
| .single-image-mode .ribbon-set {
 | |
| 	-webkit-transition: none !important;
 | |
| 	-moz-transition: none !important;
 | |
| 	-ms-transition: none !important;
 | |
| 	-o-transition: none !important;
 | |
| 	transition: none !important;
 | |
| }
 | |
| 
 | |
| 
 | |
| /* TEST: this is mostly speed limited... */
 | |
| .ribbon {
 | |
| 	box-shadow: 5px 5px 50px -5px rgba(0, 0, 0, 0.2); 
 | |
| 
 | |
| 	-webkit-transition: box-shadow 0.8s ease;
 | |
| 	-moz-transition: box-shadow 0.8s ease;
 | |
| 	-ms-transition: box-shadow 0.8s ease;
 | |
| 	-o-transition: box-shadow 0.8s ease;
 | |
| 	transition: box-shadow 0.8s ease;
 | |
| }
 | |
| .current.ribbon {
 | |
| 	box-shadow: 5px 5px 60px -5px rgba(0, 0, 0, 0.3); 
 | |
| }
 | |
| 
 | |
| .single-image-mode .ribbon {
 | |
| 	box-shadow: none; 
 | |
| }
 | |
| 
 | |
| 
 | |
| /* Metadata viewer */
 | |
| .item-value-view .text:first-child,
 | |
| .browse-widget.metadata-view .list>div .text:first-child {
 | |
| 	width: 50%;
 | |
| 	font-weight: bold;
 | |
| }
 | |
| .item-value-view .text:nth-child(2),
 | |
| .browse-widget.metadata-view .list>div .text:nth-child(2) {
 | |
| 	font-style: italic;
 | |
| 
 | |
| 	-moz-user-select: auto;
 | |
| 	-webkit-user-select: auto;
 | |
| 	-o-user-select: auto;
 | |
| 	-ms-user-select: auto;
 | |
| 	user-select: auto;
 | |
| 
 | |
| 	cursor: text;
 | |
| }
 | |
| 
 | |
| 
 | |
| /* External Editor List */
 | |
| .browse-widget.editor-list .list>div:first-child .text:after {
 | |
| 	content: "(primary)";
 | |
| 	margin-left: 5px;
 | |
| 	opacity: 0.5;
 | |
| 	font-style: italic;
 | |
| }
 | |
| /* XXX this is ugly -- use a class... */
 | |
| .browse-widget.editor-list .list>div:first-child .button:nth-child(4) {
 | |
| 	opacity: 0.1;
 | |
| }
 | |
| .browse-widget.editor-list .list>div:nth-child(2):not(:last-child) .text:after {
 | |
| 	content: "(secondary)";
 | |
| 	margin-left: 5px;
 | |
| 	opacity: 0.5;
 | |
| 	font-style: italic;
 | |
| }
 | |
| /* XXX this is ugly -- use a class... */
 | |
| .browse-widget.editor-list .list>div:nth-child(2) .button:nth-child(3) {
 | |
| 	opacity: 0.1;
 | |
| }
 | |
| 
 | |
| /* slideshow interval list... */
 | |
| .browse-widget.tail-action .list>div:last-child {
 | |
| 	margin-top: 0.2em;
 | |
| 	border-top: solid 1px rgba(255,255,255, 0.2);
 | |
| }
 | |
| .browse-widget.tail-action .list>div:last-child .text {
 | |
| 	font-style: italic;
 | |
| }
 | |
| .browse-widget.tail-action .list>div:last-child .button {
 | |
| 	display: none;
 | |
| }
 | |
| 
 | |
| 
 | |
| /* DEBUG stuff... */
 | |
| .container-center {
 | |
| 	position: absolute;
 | |
| 	top: 50%;
 | |
| 	left: 50%;
 | |
| 	width: 10px;
 | |
| 	height: 10px;
 | |
| 
 | |
| 	border-top: solid 1px black;
 | |
| 	border-left: solid 1px black;
 | |
| }
 | |
| .container-center:after {
 | |
| 	content: "";
 | |
| 	position: absolute;
 | |
| 	top: -11px;
 | |
| 	left: -11px;
 | |
| 	width: 10px;
 | |
| 	height: 10px;
 | |
| 
 | |
| 	border-top: none;
 | |
| 	border-left: none;
 | |
| 	border-bottom: solid 1px black;
 | |
| 	border-right: solid 1px black;
 | |
| }
 | |
| .point {
 | |
| 	position: absolute;
 | |
| 	width: 4px;
 | |
| 	height: 4px;
 | |
| 	border: solid 1px blue;
 | |
| 	margin-top: -2px;
 | |
| 	margin-left: -2px;
 | |
| 
 | |
| 	background: yellow;
 | |
| 
 | |
| 	transition-origin: 50% 50%;
 | |
| 
 | |
| 	z-index: 9999;
 | |
| }
 | |
| .point {
 | |
| 	-webkit-transition: all 0.2s linear;
 | |
| 	-moz-transition: all 0.2s linear;
 | |
| 	transition: all 0.2s linear;
 | |
| }
 | |
| /* DEBUG end */
 | |
| 
 | |
| </style>
 | |
| 
 | |
| <script>
 | |
| if(window.require && window.nw){
 | |
| 	window.__devtools_failsafe = setTimeout(function(){
 | |
| 		nw.Window.get().showDevTools()
 | |
| 	}, 5000)
 | |
| }
 | |
| </script>
 | |
| 
 | |
| 
 | |
| <!-- jQuery -->
 | |
| <script src="ext-lib/jquery.js"></script>
 | |
| <script src="ext-lib/jquery-ui.js"></script>
 | |
| <script src="ext-lib/jquery.ui.touch-punch.min.js"></script>
 | |
| 
 | |
| <!--script src="ext-lib/jquery.transit.min.js"></script-->
 | |
| 
 | |
| <!-- velocity.js -->
 | |
| <script src="ext-lib/velocity.min.js"></script>
 | |
| 
 | |
| <!-- hammer.js -->
 | |
| <script src="ext-lib/hammer.min.js"></script>
 | |
| <script src="ext-lib/jquery.hammer.js"></script>
 | |
| 
 | |
| <!-- GSAP: remove from production... -->
 | |
| <!--
 | |
| <script src="ext-lib/gsap/TweenLite.min.js"></script>
 | |
| <script src="ext-lib/gsap/jquery.gsap.min.js"></script>
 | |
| <script src="ext-lib/gsap/utils/Draggable.min.js"></script>
 | |
| <script src="ext-lib/gsap/plugins/CSSPlugin.min.js"></script>
 | |
| -->
 | |
| 
 | |
| 
 | |
| <script src="lib/jli.js"></script>
 | |
| 
 | |
| <script data-main="ui" src="ext-lib/require.js"></script>
 | |
| 
 | |
| </head>
 | |
| <body>
 | |
| 
 | |
| <!-- for viewer structure doc see: ribbons.js... -->
 | |
| 
 | |
| <!--div class="viewer gray marks-visible" empty-help="Press 'O' to load, 'F1' for help or '?' for keyboard mappings."-->
 | |
| 
 | |
| 	<!--div class="ribbon-set"-->
 | |
| 		<!-- DEBUG: remove when not needed... -->
 | |
| 		<!--div class="point" title="current origin point"> </div-->
 | |
| 		<!-- DEBUG: end -->
 | |
| 	<!--/div-->
 | |
| 
 | |
| 
 | |
| 	<!-- XXX should these be here???
 | |
| 	<div class="overlay-block">
 | |
| 		<div class="background"></div>
 | |
| 		<div class="content"></div>
 | |
| 	</div>
 | |
| 	-->
 | |
| 
 | |
| 	<!-- DEBUG: remove when not needed... -->
 | |
| 	<!--div class="container-center"> </div-->
 | |
| 	<!-- DEBUG: end -->
 | |
| 
 | |
| <!--/div-->
 | |
| 
 | |
| <div class="viewer gray marks-visible"></div>
 | |
| 
 | |
| 
 | |
| <!-- vim:set ts=4 sw=4 spell : -->
 | |
| </body>
 | |
| </html>
 |