Skip to content
Snippets Groups Projects
Select Git revision
  • main
  • demo protected
  • master
  • icon-set-mapping
  • production protected
  • revert-62666d1a
  • favorites-and-recent-files
  • lit2
  • wc-part
  • mark-downloaded-files
  • feature/annotpdf-test
  • fix-zip-upload
  • config-cleanup
  • wip
  • app-shell-update
15 results

index.html

Blame
  • file-sink.js 15.43 KiB
    import {i18n} from './i18n';
    import {css, html} from 'lit-element';
    import {ScopedElementsMixin} from '@open-wc/scoped-elements';
    import DBPLitElement from '@dbp-toolkit/common/dbp-lit-element';
    import * as commonUtils from "@dbp-toolkit/common/utils";
    import {Icon, MiniSpinner} from '@dbp-toolkit/common';
    import * as commonStyles from '@dbp-toolkit/common/styles';
    import {NextcloudFilePicker} from "./dbp-nextcloud-file-picker";
    import {classMap} from 'lit-html/directives/class-map.js';
    import FileSaver from 'file-saver';
    import MicroModal from "./micromodal.es";
    import * as fileHandlingStyles from './styles';
    import { send } from '@dbp-toolkit/common/notification';
    import {Clipboard} from "@dbp-toolkit/file-handling/src/clipboard";
    
    
    /**
     * FileSink web component
     */
    export class FileSink extends ScopedElementsMixin(DBPLitElement) {
        constructor() {
            super();
            this.context = '';
            this.lang = 'de';
            this.nextcloudAuthUrl = '';
            this.nextcloudWebDavUrl = '';
            this.nextcloudName ='Nextcloud';
            this.nextcloudPath = '';
            this.nextcloudFileURL = '';
            this.buttonLabel = '';
            this.filename = "files.zip";
            this.files = [];
            this.activeTarget = 'local';
            this.isDialogOpen = false;
            this.enabledTargets = 'local';
            this.firstOpen = true;
            this.fullsizeModal = false;
            this.nextcloudAuthInfo = '';
    
            this.initialFileHandlingState = {target: '', path: ''};
        }
    
        static get scopedElements() {
            return {
                'dbp-icon': Icon,
                'dbp-mini-spinner': MiniSpinner,
                'dbp-nextcloud-file-picker': NextcloudFilePicker,
                'dbp-clipboard': Clipboard,
            };
        }
    
        /**
         * See: https://lit-element.polymer-project.org/guide/properties#initialize
         */
        static get properties() {
            return {
                ...super.properties,
                context: {type: String, attribute: 'context'},
                lang: {type: String},
                filename: {type: String},
                files: {type: Array, attribute: false},
                enabledTargets: {type: String, attribute: 'enabled-targets'},
                nextcloudAuthUrl: {type: String, attribute: 'nextcloud-auth-url'},
                nextcloudWebDavUrl: {type: String, attribute: 'nextcloud-web-dav-url'},
                nextcloudName: {type: String, attribute: 'nextcloud-name'},
                nextcloudFileURL: {type: String, attribute: 'nextcloud-file-url'},
                nextcloudAuthInfo: {type: String, attribute: 'nextcloud-auth-info'},
                buttonLabel: {type: String, attribute: 'button-label'},
                isDialogOpen: {type: Boolean, attribute: false},
                activeTarget: {type: String, attribute: 'active-target'},