easyui-draganddrop
Version:
Drag and drop elements including a file explorer and a rubbish bin.
91 lines (67 loc) • 7.47 kB
JavaScript
;
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Entry = require('../entry'),
DraggableEntry = require('../draggableEntry');
var File = function (_DraggableEntry) {
_inherits(File, _DraggableEntry);
function File(selector, name, explorer) {
_classCallCheck(this, File);
var type = Entry.types.FILE;
var _this = _possibleConstructorReturn(this, (File.__proto__ || Object.getPrototypeOf(File)).call(this, selector, name, explorer, type));
_this.onDoubleClick(_this.doubleClickHandler.bind(_this));
return _this;
}
_createClass(File, [{
key: 'isDirectory',
value: function isDirectory() {
return false;
}
}, {
key: 'isBefore',
value: function isBefore(entry) {
var before = void 0;
var entryType = entry.getType();
switch (entryType) {
case Entry.types.FILE:
case Entry.types.MARKER:
var name = this.getName(),
entryName = entry.getName();
before = name.localeCompare(entryName) < 0;
break;
case Entry.types.DIRECTORY:
before = false;
break;
}
return before;
}
}, {
key: 'getSubEntries',
value: function getSubEntries() {
var subEntries = []; ///
return subEntries;
}
}, {
key: 'doubleClickHandler',
value: function doubleClickHandler() {
var explorer = this.getExplorer(),
file = this; ///
explorer.openFile(file);
}
}], [{
key: 'fromProperties',
value: function fromProperties(properties) {
var name = properties.name,
explorer = properties.explorer;
return DraggableEntry.fromProperties(File, properties, name, explorer);
}
}]);
return File;
}(DraggableEntry);
Object.assign(File, {
ignoredAttributes: ['name', 'explorer']
});
module.exports = File;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2VzNi9leHBsb3Jlci9kcmFnZ2FibGVFbnRyeS9maWxlLmpzIl0sIm5hbWVzIjpbIkVudHJ5IiwicmVxdWlyZSIsIkRyYWdnYWJsZUVudHJ5IiwiRmlsZSIsInNlbGVjdG9yIiwibmFtZSIsImV4cGxvcmVyIiwidHlwZSIsInR5cGVzIiwiRklMRSIsIm9uRG91YmxlQ2xpY2siLCJkb3VibGVDbGlja0hhbmRsZXIiLCJiaW5kIiwiZW50cnkiLCJiZWZvcmUiLCJlbnRyeVR5cGUiLCJnZXRUeXBlIiwiTUFSS0VSIiwiZ2V0TmFtZSIsImVudHJ5TmFtZSIsImxvY2FsZUNvbXBhcmUiLCJESVJFQ1RPUlkiLCJzdWJFbnRyaWVzIiwiZ2V0RXhwbG9yZXIiLCJmaWxlIiwib3BlbkZpbGUiLCJwcm9wZXJ0aWVzIiwiZnJvbVByb3BlcnRpZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJpZ25vcmVkQXR0cmlidXRlcyIsIm1vZHVsZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsUUFBUUMsUUFBUSxVQUFSLENBQWQ7QUFBQSxJQUNNQyxpQkFBaUJELFFBQVEsbUJBQVIsQ0FEdkI7O0lBR01FLEk7OztBQUNKLGdCQUFZQyxRQUFaLEVBQXNCQyxJQUF0QixFQUE0QkMsUUFBNUIsRUFBc0M7QUFBQTs7QUFDcEMsUUFBTUMsT0FBT1AsTUFBTVEsS0FBTixDQUFZQyxJQUF6Qjs7QUFEb0MsNEdBRzlCTCxRQUg4QixFQUdwQkMsSUFIb0IsRUFHZEMsUUFIYyxFQUdKQyxJQUhJOztBQUtwQyxVQUFLRyxhQUFMLENBQW1CLE1BQUtDLGtCQUFMLENBQXdCQyxJQUF4QixPQUFuQjtBQUxvQztBQU1yQzs7OztrQ0FFYTtBQUNaLGFBQU8sS0FBUDtBQUNEOzs7NkJBRVFDLEssRUFBTztBQUNkLFVBQUlDLGVBQUo7O0FBRUEsVUFBTUMsWUFBWUYsTUFBTUcsT0FBTixFQUFsQjs7QUFFQSxjQUFRRCxTQUFSO0FBQ0UsYUFBS2YsTUFBTVEsS0FBTixDQUFZQyxJQUFqQjtBQUNBLGFBQUtULE1BQU1RLEtBQU4sQ0FBWVMsTUFBakI7O0FBRUUsY0FBTVosT0FBTyxLQUFLYSxPQUFMLEVBQWI7QUFBQSxjQUNNQyxZQUFZTixNQUFNSyxPQUFOLEVBRGxCOztBQUdBSixtQkFBU1QsS0FBS2UsYUFBTCxDQUFtQkQsU0FBbkIsSUFBZ0MsQ0FBekM7QUFDQTs7QUFFRixhQUFLbkIsTUFBTVEsS0FBTixDQUFZYSxTQUFqQjtBQUNFUCxtQkFBUyxLQUFUO0FBQ0E7QUFaSjs7QUFlQSxhQUFPQSxNQUFQO0FBQ0Q7OztvQ0FFZTtBQUNkLFVBQU1RLGFBQWEsRUFBbkIsQ0FEYyxDQUNVOztBQUV4QixhQUFPQSxVQUFQO0FBQ0Q7Ozt5Q0FFb0I7QUFDbkIsVUFBTWhCLFdBQVcsS0FBS2lCLFdBQUwsRUFBakI7QUFBQSxVQUNNQyxPQUFPLElBRGIsQ0FEbUIsQ0FFQTs7QUFFbkJsQixlQUFTbUIsUUFBVCxDQUFrQkQsSUFBbEI7QUFDRDs7O21DQUVxQkUsVSxFQUFZO0FBQUEsVUFDeEJyQixJQUR3QixHQUNMcUIsVUFESyxDQUN4QnJCLElBRHdCO0FBQUEsVUFDbEJDLFFBRGtCLEdBQ0xvQixVQURLLENBQ2xCcEIsUUFEa0I7OztBQUdoQyxhQUFPSixlQUFleUIsY0FBZixDQUE4QnhCLElBQTlCLEVBQW9DdUIsVUFBcEMsRUFBZ0RyQixJQUFoRCxFQUFzREMsUUFBdEQsQ0FBUDtBQUNEOzs7O0VBckRnQkosYzs7QUF3RG5CMEIsT0FBT0MsTUFBUCxDQUFjMUIsSUFBZCxFQUFvQjtBQUNsQjJCLHFCQUFtQixDQUNqQixNQURpQixFQUVqQixVQUZpQjtBQURELENBQXBCOztBQU9BQyxPQUFPQyxPQUFQLEdBQWlCN0IsSUFBakIiLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuY29uc3QgRW50cnkgPSByZXF1aXJlKCcuLi9lbnRyeScpLFxuICAgICAgRHJhZ2dhYmxlRW50cnkgPSByZXF1aXJlKCcuLi9kcmFnZ2FibGVFbnRyeScpO1xuXG5jbGFzcyBGaWxlIGV4dGVuZHMgRHJhZ2dhYmxlRW50cnkge1xuICBjb25zdHJ1Y3RvcihzZWxlY3RvciwgbmFtZSwgZXhwbG9yZXIpIHtcbiAgICBjb25zdCB0eXBlID0gRW50cnkudHlwZXMuRklMRTtcblxuICAgIHN1cGVyKHNlbGVjdG9yLCBuYW1lLCBleHBsb3JlciwgdHlwZSk7XG5cbiAgICB0aGlzLm9uRG91YmxlQ2xpY2sodGhpcy5kb3VibGVDbGlja0hhbmRsZXIuYmluZCh0aGlzKSk7XG4gIH1cblxuICBpc0RpcmVjdG9yeSgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpc0JlZm9yZShlbnRyeSkge1xuICAgIGxldCBiZWZvcmU7XG4gICAgXG4gICAgY29uc3QgZW50cnlUeXBlID0gZW50cnkuZ2V0VHlwZSgpO1xuXG4gICAgc3dpdGNoIChlbnRyeVR5cGUpIHtcbiAgICAgIGNhc2UgRW50cnkudHlwZXMuRklMRTpcbiAgICAgIGNhc2UgRW50cnkudHlwZXMuTUFSS0VSOlxuXG4gICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgZW50cnlOYW1lID0gZW50cnkuZ2V0TmFtZSgpO1xuICAgICAgICAgIFxuICAgICAgICBiZWZvcmUgPSBuYW1lLmxvY2FsZUNvbXBhcmUoZW50cnlOYW1lKSA8IDA7ICAgICAgXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEVudHJ5LnR5cGVzLkRJUkVDVE9SWTpcbiAgICAgICAgYmVmb3JlID0gZmFsc2U7ICAgICAgICAgIFxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgXG4gICAgcmV0dXJuIGJlZm9yZTtcbiAgfVxuXG4gIGdldFN1YkVudHJpZXMoKSB7XG4gICAgY29uc3Qgc3ViRW50cmllcyA9IFtdOyAgLy8vXG4gICAgXG4gICAgcmV0dXJuIHN1YkVudHJpZXM7XG4gIH1cbiAgXG4gIGRvdWJsZUNsaWNrSGFuZGxlcigpIHtcbiAgICBjb25zdCBleHBsb3JlciA9IHRoaXMuZ2V0RXhwbG9yZXIoKSxcbiAgICAgICAgICBmaWxlID0gdGhpczsgLy8vXG4gICAgXG4gICAgZXhwbG9yZXIub3BlbkZpbGUoZmlsZSk7XG4gIH1cbiAgXG4gIHN0YXRpYyBmcm9tUHJvcGVydGllcyhwcm9wZXJ0aWVzKSB7XG4gICAgY29uc3QgeyBuYW1lLCBleHBsb3JlciB9ID0gcHJvcGVydGllcztcbiAgICBcbiAgICByZXR1cm4gRHJhZ2dhYmxlRW50cnkuZnJvbVByb3BlcnRpZXMoRmlsZSwgcHJvcGVydGllcywgbmFtZSwgZXhwbG9yZXIpO1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oRmlsZSwge1xuICBpZ25vcmVkQXR0cmlidXRlczogW1xuICAgICduYW1lJyxcbiAgICAnZXhwbG9yZXInXG4gIF1cbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IEZpbGU7XG4iXX0=