Neah/node_modules/@nextcloud/files/dist/filepicker.js
2025-04-20 12:21:37 +02:00

71 lines
2.5 KiB
JavaScript

"use strict";
/// <reference types="nextcloud-typings" />
Object.defineProperty(exports, "__esModule", { value: true });
var FilePickerType;
(function (FilePickerType) {
FilePickerType[FilePickerType["Choose"] = 1] = "Choose";
FilePickerType[FilePickerType["Move"] = 2] = "Move";
FilePickerType[FilePickerType["Copy"] = 3] = "Copy";
FilePickerType[FilePickerType["CopyMove"] = 4] = "CopyMove";
})(FilePickerType = exports.FilePickerType || (exports.FilePickerType = {}));
var FilePicker = /** @class */ (function () {
function FilePicker(title, multiSelect, mimeTypeFilter, modal, type, path) {
this.title = title;
this.multiSelect = multiSelect;
this.mimeTypeFiler = mimeTypeFilter;
this.modal = modal;
this.type = type;
this.path = path;
}
FilePicker.prototype.pick = function () {
var _this = this;
return new Promise(function (res, rej) {
OC.dialogs.filepicker(_this.title, res, _this.multiSelect, _this.mimeTypeFiler, _this.modal, _this.type, _this.path);
});
};
return FilePicker;
}());
exports.FilePicker = FilePicker;
var FilePickerBuilder = /** @class */ (function () {
function FilePickerBuilder(title) {
this.multiSelect = false;
this.mimeTypeFiler = [];
this.modal = true;
this.type = FilePickerType.Choose;
this.title = title;
}
FilePickerBuilder.prototype.setMultiSelect = function (ms) {
this.multiSelect = ms;
return this;
};
FilePickerBuilder.prototype.addMimeTypeFilter = function (filter) {
this.mimeTypeFiler.push(filter);
return this;
};
FilePickerBuilder.prototype.setMimeTypeFilter = function (filter) {
this.mimeTypeFiler = filter;
return this;
};
FilePickerBuilder.prototype.setModal = function (modal) {
this.modal = modal;
return this;
};
FilePickerBuilder.prototype.setType = function (type) {
this.type = type;
return this;
};
FilePickerBuilder.prototype.startAt = function (path) {
this.path = path;
return this;
};
FilePickerBuilder.prototype.build = function () {
return new FilePicker(this.title, this.multiSelect, this.mimeTypeFiler, this.modal, this.type, this.path);
};
return FilePickerBuilder;
}());
exports.FilePickerBuilder = FilePickerBuilder;
function getFilePickerBuilder(title) {
return new FilePickerBuilder(title);
}
exports.getFilePickerBuilder = getFilePickerBuilder;