fx115: Change FilePicker to Mozilla ESM style

var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
This commit is contained in:
Dan Stillman 2023-12-03 04:34:59 -05:00
parent 95d577beb6
commit c36f40735c
15 changed files with 21 additions and 24 deletions

View file

@ -30,7 +30,7 @@ var { RemoteTranslate } = ChromeUtils.import("chrome://zotero/content/RemoteTran
var { ContentDOMReference } = ChromeUtils.import("resource://gre/modules/ContentDOMReference.jsm");
var { Zotero } = ChromeUtils.importESModule("chrome://zotero/content/zotero.mjs");
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
// Fix JSON stringify 2028/2029 "bug"
// Borrowed from http://stackoverflow.com/questions/16686687/json-stringify-and-u2028-u2029-check

View file

@ -23,9 +23,8 @@
***** END LICENSE BLOCK *****
*/
Components.utils.import("resource://gre/modules/osfile.jsm");
Components.utils.import("resource://gre/modules/Services.jsm");
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
import { ImportCitaviAnnotatons } from 'zotero/import/citavi';
/****Zotero_File_Exporter****

View file

@ -25,7 +25,7 @@
/* eslint camelcase: ["error", {allow: ["Zotero_File_Interface", "Zotero_Import_Wizard"]} ] */
/* global Zotero_File_Interface: false, mendeleyAPIUtils: false */
import FilePicker from 'zotero/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
import React from 'react';
import ReactDOM from 'react-dom';
import ProgressQueueTable from 'components/progressQueueTable';

View file

@ -23,8 +23,11 @@
***** END LICENSE BLOCK *****
*/
import { Cc, Ci, Cu } from 'chrome';
Cu.import("resource://gre/modules/osfile.jsm");
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
FileUtils: "resource://gre/modules/FileUtils.sys.mjs",
});
/**
* Interface to the system filepicker.
@ -34,7 +37,7 @@ Cu.import("resource://gre/modules/osfile.jsm");
*
* @class
*/
class FilePicker {
export class FilePicker {
constructor() {
this._fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
}
@ -76,7 +79,7 @@ class FilePicker {
* @return {Promise<Integer>} One of the return constants
*/
async show() {
return new Zotero.Promise(function (resolve) {
return new Promise(function (resolve) {
this._fp.open(returnConstant => resolve(returnConstant));
}.bind(this));
};
@ -164,7 +167,7 @@ FilePicker.prototype.filterVideo = 0x200;
set: function (val) {
if (prop == 'displayDirectory') {
// Convert to nsIFile
val = Zotero.File.pathToFile(val);
val = new lazy.FileUtils.File(val);
}
this._fp[prop] = val;
},
@ -222,5 +225,3 @@ FilePicker.prototype.filterVideo = 0x200;
});
Object.freeze(FilePicker.prototype);
export default FilePicker;

View file

@ -24,7 +24,7 @@
*/
Components.utils.import("resource://gre/modules/Services.jsm");
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
Zotero_Preferences.Advanced = {
init: function () {

View file

@ -25,7 +25,7 @@
"use strict";
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
var React = require('react');
var ReactDOM = require('react-dom');

View file

@ -27,7 +27,7 @@
Components.utils.import("resource://gre/modules/Services.jsm");
Components.utils.import("resource://gre/modules/osfile.jsm");
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
Zotero_Preferences.General = {
_openURLResolvers: null,

View file

@ -1,7 +1,7 @@
import React from 'react';
import ReactDOM from 'react-dom';
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
import VirtualizedTable from 'components/virtualized-table';
import { getCSSIcon } from 'components/icons';

View file

@ -1,4 +1,4 @@
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
(async function () {
// Create schema

View file

@ -23,7 +23,7 @@
***** END LICENSE BLOCK *****
*/
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
var Zotero_CSL_Editor = new function () {
let monaco, editor;

View file

@ -25,7 +25,7 @@
"use strict";
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
Zotero.DataDirectory = {
MIGRATION_MARKER: 'migrate-dir',

View file

@ -25,7 +25,7 @@
Components.utils.import("resource://gre/modules/InlineSpellChecker.jsm");
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
// Note: TinyMCE is automatically doing some meaningless corrections to
// note-editor produced HTML. Which might result to more

View file

@ -23,7 +23,7 @@
***** END LICENSE BLOCK *****
*/
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
const { BlockingObserver } = ChromeUtils.import("chrome://zotero/content/BlockingObserver.jsm");

View file

@ -23,7 +23,7 @@
***** END LICENSE BLOCK *****
*/
import FilePicker from 'zotero/modules/filePicker';
var { FilePicker } = ChromeUtils.importESModule('chrome://zotero/content/modules/filePicker.mjs');
/*
* This object contains the various functions for the interface

View file

@ -104,9 +104,6 @@ var require = (function() {
'containers/': 'chrome://zotero/content/containers/',
'components/': 'chrome://zotero/content/components/',
'zotero/': 'chrome://zotero/content/',
// TEMP until plugins updated
// TODO: Possible to show a deprecation warning?
'zotero/filePicker': 'chrome://zotero/content/modules/filePicker',
},
globals
});