259 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			259 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!doctype html>
 | 
						|
<html lang="ja">
 | 
						|
<head>
 | 
						|
<title>Adobe Photo Editor - TheDesk</title>
 | 
						|
<meta content="width=device-width,initial-scale=1.0" name="viewport">
 | 
						|
<link href="./css/materialize.css" type="text/css" rel="stylesheet">
 | 
						|
<link href="./css/master.css" type="text/css" rel="stylesheet">
 | 
						|
<link href="./css/auth.css" type="text/css" rel="stylesheet">
 | 
						|
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'>
 | 
						|
<link href='./css/tl.css' rel='stylesheet' type='text/css'>
 | 
						|
<link href='./css/userdata.css' rel='stylesheet' type='text/css'>
 | 
						|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
 | 
						|
<style>
 | 
						|
    #cb-drag {
 | 
						|
  margin-bottom: 8px;
 | 
						|
  padding: 24px 0;
 | 
						|
  text-align: center;
 | 
						|
}
 | 
						|
#cb-drag p {
 | 
						|
  font-weight: bold;
 | 
						|
  text-align: center;
 | 
						|
}
 | 
						|
#cb-file {
 | 
						|
  cursor: pointer;
 | 
						|
}
 | 
						|
#cb-display {
 | 
						|
  margin-bottom: 0;
 | 
						|
}
 | 
						|
#cb-display p {
 | 
						|
  margin-top: 8px;
 | 
						|
  margin-bottom: 0;
 | 
						|
  line-height: 1.4;
 | 
						|
}
 | 
						|
.cb-div {
 | 
						|
  padding: 16px;
 | 
						|
  margin-bottom: 8px;
 | 
						|
}
 | 
						|
.cb-image {
 | 
						|
  cursor: pointer;
 | 
						|
}
 | 
						|
 | 
						|
</style>
 | 
						|
<meta charset="utf-8">
 | 
						|
</head>
 | 
						|
<body id="mainView">
 | 
						|
<script type="text/javascript" src="./js/common/jquery.js"></script>
 | 
						|
<script type="text/javascript" src="./js/platform/first.js"></script>
 | 
						|
<script type="text/javascript" src="./js/common/materialize.js"></script>
 | 
						|
<script type="text/javascript" src="./js/ui/tips.js"></script>
 | 
						|
<script type="text/javascript" src="./js/common/time.js"></script>
 | 
						|
<script type="text/javascript" src="./js/common/modal.js"></script>
 | 
						|
<div>
 | 
						|
        <div id="cb-drag">
 | 
						|
        <p>ここに画像ファイルをドラッグし、画像をクリックしてください。</p>
 | 
						|
        <input type="file" id="cb-file">
 | 
						|
        </div>
 | 
						|
        <div id="cb-display"></div>
 | 
						|
    </div>
 | 
						|
<script type="text/javascript" src="https://dme0ih8comzn4.cloudfront.net/imaging/v2/editor.js"></script>
 | 
						|
<script type="text/javascript">
 | 
						|
 | 
						|
 var dragAndDrop = (function (window, document) {
 | 
						|
 | 
						|
"use strict";
 | 
						|
 | 
						|
var drag = document.getElementById("mainView");
 | 
						|
var disp = document.getElementById("cb-display");
 | 
						|
var file = document.getElementById("cb-file");
 | 
						|
 | 
						|
function makeView(data) {
 | 
						|
 | 
						|
  var div, img, customEvent;
 | 
						|
  var metaData = "<p>■ファイル名: <b>" + data.name + "</b><br>■容量: <b>" + data.size + "</b>バイト</p>";
 | 
						|
 | 
						|
  div = document.createElement("div");
 | 
						|
  div.setAttribute("class", "cb-div");
 | 
						|
 | 
						|
  img = document.createElement("img");
 | 
						|
  img.src = data.url;
 | 
						|
  img.setAttribute("class", "cb-image");
 | 
						|
  img.style.maxWidth = "100%";
 | 
						|
  img.style.height = "auto";
 | 
						|
 | 
						|
  div.appendChild(img);
 | 
						|
  img.insertAdjacentHTML("afterend", metaData);
 | 
						|
  disp.appendChild(div);
 | 
						|
 | 
						|
  customEvent = document.createEvent("HTMLEvents");
 | 
						|
  customEvent.initEvent("makeView", true, false);
 | 
						|
  div.dispatchEvent(customEvent);
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
function readImage(e) {
 | 
						|
 | 
						|
  var f = (e.dataTransfer) ? e.dataTransfer.files : e.target.files;
 | 
						|
 | 
						|
  for (var i = 0, l = f.length; i < l; i++) {
 | 
						|
 | 
						|
    var reader = new FileReader();
 | 
						|
 | 
						|
    reader.onload = (function (f) {
 | 
						|
 | 
						|
      var imageData = {};
 | 
						|
 | 
						|
      return function (evt) {
 | 
						|
 | 
						|
        if (f.type === "image/gif" || f.type === "image/png" || f.type === "image/jpeg") {
 | 
						|
 | 
						|
          imageData.type = f.type;
 | 
						|
          imageData.name = f.name;
 | 
						|
          imageData.size = f.size;
 | 
						|
          imageData.date = f.lastModifiedDate.toLocaleDateString();
 | 
						|
          imageData.url = evt.target.result;
 | 
						|
          makeView(imageData);
 | 
						|
 | 
						|
        } else {
 | 
						|
          return;
 | 
						|
        }
 | 
						|
 | 
						|
      };
 | 
						|
 | 
						|
    })(f[i]);
 | 
						|
 | 
						|
    reader.readAsDataURL(f[i]);
 | 
						|
 | 
						|
  }
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
function dragFiles() {
 | 
						|
 | 
						|
  drag.addEventListener("drop", function (e) {
 | 
						|
    e.stopPropagation();
 | 
						|
    e.preventDefault();
 | 
						|
    readImage(e);
 | 
						|
  }, false);
 | 
						|
 | 
						|
  drag.addEventListener("dragover", function (e) {
 | 
						|
    e.stopPropagation();
 | 
						|
    e.preventDefault();
 | 
						|
  }, false);
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
function uploadFiles() {
 | 
						|
 | 
						|
  file.addEventListener("change", function(e) {
 | 
						|
    readImage(e);
 | 
						|
  }, false);
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
return {
 | 
						|
  init: function () {
 | 
						|
    dragFiles();
 | 
						|
    uploadFiles();
 | 
						|
  }
 | 
						|
};
 | 
						|
 | 
						|
})(this, this.document);
 | 
						|
 | 
						|
var photoEditor = (function (window, document) {
 | 
						|
 | 
						|
"use strict";
 | 
						|
 | 
						|
var featherEditor = new Aviary.Feather({
 | 
						|
  apiKey: "ffee425017ab44b18ce95dab98a5cdc1",
 | 
						|
  onSave: function(imageID, newURL) {
 | 
						|
    var img1 = document.getElementById(imageID);
 | 
						|
    img1.src = newURL;
 | 
						|
    var electron = require("electron");
 | 
						|
    var ipc = electron.ipcRenderer;
 | 
						|
    ipc.send('bmp-image', [newURL,0]);
 | 
						|
    window.close();
 | 
						|
  }
 | 
						|
});
 | 
						|
 | 
						|
function clearImage() {
 | 
						|
  this.parentNode.style.display = "none";
 | 
						|
}
 | 
						|
 | 
						|
function launchEditor(id, src) {
 | 
						|
  featherEditor.launch({
 | 
						|
    image: id,
 | 
						|
    url: src
 | 
						|
  });
 | 
						|
  return false;
 | 
						|
}
 | 
						|
 | 
						|
function editPhoto() {
 | 
						|
  //console.log(this);
 | 
						|
  var id = this.getAttribute("id");
 | 
						|
  var src = this.getAttribute("src");
 | 
						|
  launchEditor(id, src);
 | 
						|
}
 | 
						|
 | 
						|
function makeButton() {
 | 
						|
  var button = document.createElement("button");
 | 
						|
  button.setAttribute("style",
 | 
						|
    "width: 64px;"
 | 
						|
    + " line-height: 24px;"
 | 
						|
    + " background-color: #37474F;"
 | 
						|
    + " color: #fff;"
 | 
						|
    + " border: none;"
 | 
						|
    + " cursor: pointer;"
 | 
						|
    + " border-radius: 2px;"
 | 
						|
    + " font-size: 14px;"
 | 
						|
    + " position: absolute;"
 | 
						|
    + " text-align: center;"
 | 
						|
    + " top: 16px;"
 | 
						|
    + " right: 8px;"
 | 
						|
    + " padding: 0;"
 | 
						|
    + " z-index: 1000;"
 | 
						|
  );
 | 
						|
  button.innerHTML = "削除";
 | 
						|
  return button;
 | 
						|
}
 | 
						|
 | 
						|
function listener() {
 | 
						|
 | 
						|
  var disp = document.getElementById("cb-display");
 | 
						|
 | 
						|
  disp.addEventListener("makeView", function () {
 | 
						|
 | 
						|
    var image = document.querySelectorAll(".cb-image");
 | 
						|
    var button = [];
 | 
						|
 | 
						|
    for (var i = 0, l = image.length; i < l; i++) {
 | 
						|
 | 
						|
      button[i] = makeButton();
 | 
						|
      image[i].setAttribute("id", "cb-image_" + i);
 | 
						|
      image[i].parentNode.style.position = "relative";
 | 
						|
      image[i].parentNode.appendChild(button[i]);
 | 
						|
 | 
						|
      button[i].addEventListener("click", clearImage, false);
 | 
						|
      image[i].addEventListener("click", editPhoto, false);
 | 
						|
    }
 | 
						|
 | 
						|
  }, false);
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
return {
 | 
						|
  init: function () {
 | 
						|
    listener();
 | 
						|
  }
 | 
						|
};
 | 
						|
 | 
						|
})(this, this.document);
 | 
						|
 | 
						|
dragAndDrop.init();
 | 
						|
photoEditor.init();
 | 
						|
</script>
 | 
						|
 | 
						|
<script type="text/javascript" src="./js/ui/theme.js"></script>
 | 
						|
<script type="text/javascript" src="./js/platform/end.js"></script>
 | 
						|
</body>
 | 
						|
</html> |