refactor: Array.from(iterable).map(mapfn)をArray.from(iterable | { length: number }, mapfn)に (#11337)
* refactor: Array.from(iterable).map(mapfn)をArray.from(iterable, mapfn)に * Update packages/frontend/src/components/MkTagCloud.vue Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com> --------- Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
This commit is contained in:
parent
9208cfd5f3
commit
fe13755be8
4 changed files with 7 additions and 6 deletions
|
@ -540,7 +540,7 @@ function onCompositionEnd(ev: CompositionEvent) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function onPaste(ev: ClipboardEvent) {
|
async function onPaste(ev: ClipboardEvent) {
|
||||||
for (const { item, i } of Array.from(ev.clipboardData.items).map((item, i) => ({ item, i }))) {
|
for (const { item, i } of Array.from(ev.clipboardData.items, (item, i) => ({ item, i }))) {
|
||||||
if (item.kind === 'file') {
|
if (item.kind === 'file') {
|
||||||
const file = item.getAsFile();
|
const file = item.getAsFile();
|
||||||
const lio = file.name.lastIndexOf('.');
|
const lio = file.name.lastIndexOf('.');
|
||||||
|
|
|
@ -16,8 +16,8 @@ import tinycolor from 'tinycolor2';
|
||||||
const loaded = !!window.TagCanvas;
|
const loaded = !!window.TagCanvas;
|
||||||
const SAFE_FOR_HTML_ID = 'abcdefghijklmnopqrstuvwxyz';
|
const SAFE_FOR_HTML_ID = 'abcdefghijklmnopqrstuvwxyz';
|
||||||
const computedStyle = getComputedStyle(document.documentElement);
|
const computedStyle = getComputedStyle(document.documentElement);
|
||||||
const idForCanvas = Array.from(Array(16)).map(() => SAFE_FOR_HTML_ID[Math.floor(Math.random() * SAFE_FOR_HTML_ID.length)]).join('');
|
const idForCanvas = Array.from({ length: 16 }, () => SAFE_FOR_HTML_ID[Math.floor(Math.random() * SAFE_FOR_HTML_ID.length)]).join('');
|
||||||
const idForTags = Array.from(Array(16)).map(() => SAFE_FOR_HTML_ID[Math.floor(Math.random() * SAFE_FOR_HTML_ID.length)]).join('');
|
const idForTags = Array.from({ length: 16 }, () => SAFE_FOR_HTML_ID[Math.floor(Math.random() * SAFE_FOR_HTML_ID.length)]).join('');
|
||||||
let available = $ref(false);
|
let available = $ref(false);
|
||||||
let rootEl = $shallowRef<HTMLElement | null>(null);
|
let rootEl = $shallowRef<HTMLElement | null>(null);
|
||||||
let canvasEl = $shallowRef<HTMLCanvasElement | null>(null);
|
let canvasEl = $shallowRef<HTMLCanvasElement | null>(null);
|
||||||
|
|
|
@ -2,7 +2,7 @@ const twemojiSvgBase = '/twemoji';
|
||||||
const fluentEmojiPngBase = '/fluent-emoji';
|
const fluentEmojiPngBase = '/fluent-emoji';
|
||||||
|
|
||||||
export function char2twemojiFilePath(char: string): string {
|
export function char2twemojiFilePath(char: string): string {
|
||||||
let codes = Array.from(char).map(x => x.codePointAt(0)?.toString(16));
|
let codes = Array.from(char, x => x.codePointAt(0)?.toString(16));
|
||||||
if (!codes.includes('200d')) codes = codes.filter(x => x !== 'fe0f');
|
if (!codes.includes('200d')) codes = codes.filter(x => x !== 'fe0f');
|
||||||
codes = codes.filter(x => x && x.length);
|
codes = codes.filter(x => x && x.length);
|
||||||
const fileName = codes.join('-');
|
const fileName = codes.join('-');
|
||||||
|
@ -10,7 +10,7 @@ export function char2twemojiFilePath(char: string): string {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function char2fluentEmojiFilePath(char: string): string {
|
export function char2fluentEmojiFilePath(char: string): string {
|
||||||
let codes = Array.from(char).map(x => x.codePointAt(0)?.toString(16));
|
let codes = Array.from(char, x => x.codePointAt(0)?.toString(16));
|
||||||
// Fluent Emojiは国旗非対応 https://github.com/microsoft/fluentui-emoji/issues/25
|
// Fluent Emojiは国旗非対応 https://github.com/microsoft/fluentui-emoji/issues/25
|
||||||
if (codes[0]?.startsWith('1f1')) return char2twemojiFilePath(char);
|
if (codes[0]?.startsWith('1f1')) return char2twemojiFilePath(char);
|
||||||
if (!codes.includes('200d')) codes = codes.filter(x => x !== 'fe0f');
|
if (!codes.includes('200d')) codes = codes.filter(x => x !== 'fe0f');
|
||||||
|
|
|
@ -12,7 +12,8 @@ export function chooseFileFromPc(multiple: boolean, keepOriginal = false): Promi
|
||||||
input.type = 'file';
|
input.type = 'file';
|
||||||
input.multiple = multiple;
|
input.multiple = multiple;
|
||||||
input.onchange = () => {
|
input.onchange = () => {
|
||||||
const promises = Array.from(input.files).map(file => uploadFile(file, defaultStore.state.uploadFolder, undefined, keepOriginal));
|
if (!input.files) return res([]);
|
||||||
|
const promises = Array.from(input.files, file => uploadFile(file, defaultStore.state.uploadFolder, undefined, keepOriginal));
|
||||||
|
|
||||||
Promise.all(promises).then(driveFiles => {
|
Promise.all(promises).then(driveFiles => {
|
||||||
res(driveFiles);
|
res(driveFiles);
|
||||||
|
|
Loading…
Reference in a new issue