mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-07-18 00:47:01 +00:00
feature: client: modules: user-menu: migrate to ESM
This commit is contained in:
parent
ebfdf8c087
commit
73fa4961c0
12 changed files with 47 additions and 74 deletions
|
|
@ -136,7 +136,7 @@ export default {
|
|||
[`${modules}/terminal`]: `${dirModules}/terminal.js`,
|
||||
[`${modules}/terminal-run`]: `${dirModules}/terminal-run.js`,
|
||||
[`${modules}/cloud`]: `${dirModules}/cloud.mjs`,
|
||||
[`${modules}/user-menu`]: `${dirModules}/user-menu/index.js`,
|
||||
[`${modules}/user-menu`]: `${dirModules}/user-menu/index.mjs`,
|
||||
[`${modules}/polyfill`]: `${dirModules}/polyfill.js`,
|
||||
[`${modules}/command-line`]: `${dirModules}/command-line.js`,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
'use strict';
|
||||
|
||||
module.exports = (menuFn) => {
|
||||
export const getUserMenu = (menuFn) => {
|
||||
const module = {};
|
||||
const fn = Function('module', menuFn);
|
||||
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
'use strict';
|
||||
|
||||
const test = require('supertape');
|
||||
const getUserMenu = require('./get-user-menu');
|
||||
import test from 'supertape';
|
||||
import {getUserMenu} from './get-user-menu.mjs';
|
||||
|
||||
test('user-menu: getUserMenu', (t) => {
|
||||
const menu = `module.exports = {
|
||||
|
|
@ -1,47 +1,44 @@
|
|||
'use strict';
|
||||
|
||||
/* global CloudCmd, DOM */
|
||||
require('../../../css/user-menu.css');
|
||||
|
||||
const currify = require('currify');
|
||||
const wraptile = require('wraptile');
|
||||
const {fullstore} = require('fullstore');
|
||||
const load = require('load.js');
|
||||
const createElement = require('@cloudcmd/create-element');
|
||||
const {tryCatch} = require('try-catch');
|
||||
const {tryToCatch} = require('try-to-catch');
|
||||
const {codeFrameColumns} = require('@babel/code-frame');
|
||||
|
||||
const Images = require('../../dom/images.mjs');
|
||||
const Dialog = require('#dom/dialog');
|
||||
const getUserMenu = require('./get-user-menu');
|
||||
const navigate = require('./navigate');
|
||||
const parseError = require('./parse-error');
|
||||
const parseUserMenu = require('./parse-user-menu');
|
||||
const {runSelected} = require('./run');
|
||||
import currify from 'currify';
|
||||
import wraptile from 'wraptile';
|
||||
import {fullstore} from 'fullstore';
|
||||
import load from 'load.js';
|
||||
import createElement from '@cloudcmd/create-element';
|
||||
import {tryCatch} from 'try-catch';
|
||||
import {tryToCatch} from 'try-to-catch';
|
||||
import {codeFrameColumns} from '@babel/code-frame';
|
||||
import * as Dialog from '#dom/dialog';
|
||||
import '../../../css/user-menu.css';
|
||||
import * as Images from '../../dom/images.mjs';
|
||||
import {getUserMenu} from './get-user-menu.mjs';
|
||||
import {navigate} from './navigate.mjs';
|
||||
import {parseError} from './parse-error.mjs';
|
||||
import {parseUserMenu} from './parse-user-menu.mjs';
|
||||
import {runSelected} from './run.mjs';
|
||||
|
||||
const loadCSS = load.css;
|
||||
const sourceStore = fullstore();
|
||||
|
||||
const Name = 'UserMenu';
|
||||
|
||||
CloudCmd[Name] = module.exports;
|
||||
CloudCmd[Name] = {
|
||||
init,
|
||||
show,
|
||||
hide,
|
||||
};
|
||||
|
||||
const {Key} = CloudCmd;
|
||||
|
||||
module.exports.init = async () => {
|
||||
export async function init() {
|
||||
await Promise.all([
|
||||
loadCSS(`${CloudCmd.prefix}/dist/user-menu.css`),
|
||||
CloudCmd.View(),
|
||||
]);
|
||||
};
|
||||
|
||||
module.exports.show = show;
|
||||
module.exports.hide = hide;
|
||||
}
|
||||
|
||||
const {CurrentInfo} = DOM;
|
||||
|
||||
async function show() {
|
||||
export async function show() {
|
||||
Images.show.load('top');
|
||||
|
||||
const {dirPath} = CurrentInfo;
|
||||
|
|
@ -107,7 +104,7 @@ function fillTemplate(options) {
|
|||
return result.join('');
|
||||
}
|
||||
|
||||
function hide() {
|
||||
export function hide() {
|
||||
CloudCmd.View.hide();
|
||||
}
|
||||
|
||||
|
|
@ -1,18 +1,15 @@
|
|||
'use strict';
|
||||
|
||||
const {fullstore} = require('fullstore');
|
||||
|
||||
const {
|
||||
import {fullstore} from 'fullstore';
|
||||
import {
|
||||
J,
|
||||
K,
|
||||
UP,
|
||||
DOWN,
|
||||
} = require('../../key/key.mjs');
|
||||
} from '../../key/key.mjs';
|
||||
|
||||
const store = fullstore(1);
|
||||
const isDigit = (a) => /^\d+$/.test(a);
|
||||
|
||||
module.exports = (el, {key, keyCode}) => {
|
||||
export const navigate = (el, {key, keyCode}) => {
|
||||
if (isDigit(key))
|
||||
store(Number(key));
|
||||
|
||||
|
|
@ -1,14 +1,11 @@
|
|||
'use strict';
|
||||
|
||||
const test = require('supertape');
|
||||
const navigate = require('./navigate');
|
||||
|
||||
const {
|
||||
import test from 'supertape';
|
||||
import {navigate} from './navigate.mjs';
|
||||
import {
|
||||
UP,
|
||||
DOWN,
|
||||
J,
|
||||
K,
|
||||
} = require('../../key/key.mjs');
|
||||
} from '../../key/key.mjs';
|
||||
|
||||
test('cloudcmd: user-menu: navigate: DOWN', (t) => {
|
||||
const el = {
|
||||
|
|
@ -1,8 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
const isNumber = (a) => typeof a === 'number';
|
||||
|
||||
module.exports = (error) => {
|
||||
export const parseError = (error) => {
|
||||
const {lineNumber, columnNumber} = error;
|
||||
|
||||
// thank you firefox
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
'use strict';
|
||||
|
||||
const test = require('supertape');
|
||||
const parseError = require('./parse-error');
|
||||
import test from 'supertape';
|
||||
import {parseError} from './parse-error.mjs';
|
||||
|
||||
test('user-menu: parse-error', (t) => {
|
||||
const result = parseError({
|
||||
|
|
@ -1,8 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
const {entries, assign} = Object;
|
||||
|
||||
module.exports = (userMenu) => {
|
||||
export const parseUserMenu = (userMenu) => {
|
||||
const names = [];
|
||||
const keys = {};
|
||||
const items = {};
|
||||
|
|
@ -1,13 +1,10 @@
|
|||
'use strict';
|
||||
|
||||
const {test, stub} = require('supertape');
|
||||
|
||||
const parse = require('./parse-user-menu');
|
||||
import {test, stub} from 'supertape';
|
||||
import {parseUserMenu} from './parse-user-menu.mjs';
|
||||
|
||||
test('cloudcmd: user menu: parse', (t) => {
|
||||
const fn = stub();
|
||||
const __settings = {};
|
||||
const result = parse({
|
||||
const result = parseUserMenu({
|
||||
__settings,
|
||||
'F2 - Rename file': fn,
|
||||
'_f': fn,
|
||||
|
|
@ -1,6 +1,4 @@
|
|||
'use strict';
|
||||
|
||||
module.exports.runSelected = async (selectedItems, items, runUserMenu) => {
|
||||
export const runSelected = async (selectedItems, items, runUserMenu) => {
|
||||
for (const selected of selectedItems) {
|
||||
await runUserMenu(items[selected]);
|
||||
}
|
||||
|
|
@ -1,8 +1,5 @@
|
|||
'use strict';
|
||||
|
||||
const {test, stub} = require('supertape');
|
||||
|
||||
const {runSelected} = require('./run');
|
||||
import {test, stub} from 'supertape';
|
||||
import {runSelected} from './run.mjs';
|
||||
|
||||
test('cloudcmd: client: user menu: run', async (t) => {
|
||||
const runUserMenu = stub();
|
||||
Loading…
Add table
Add a link
Reference in a new issue