support pasting amount on number pad sheet for non-ios device
This commit is contained in:
@@ -6,9 +6,17 @@
|
||||
<div class="margin-top padding-horizontal" v-if="hint">
|
||||
<span>{{ hint }}</span>
|
||||
</div>
|
||||
<div class="numpad-values" @click="paste">
|
||||
<span class="numpad-value" :class="currentDisplayNumClass">{{ currentDisplay }}</span>
|
||||
<div class="numpad-values" @click="onDisplayValueClick">
|
||||
<span id="numpad-value" class="numpad-value" :class="currentDisplayNumClass">{{ currentDisplay }}</span>
|
||||
</div>
|
||||
|
||||
<f7-popover class="numpad-paste-popover" target-el="#numpad-value"
|
||||
v-model:opened="showPastePopover">
|
||||
<f7-list class="numpad-paste-popover-context-menu-list">
|
||||
<f7-list-item link="#" no-chevron :title="tt('Paste')" @click="paste"></f7-list-item>
|
||||
</f7-list>
|
||||
</f7-popover>
|
||||
|
||||
<div class="numpad-buttons">
|
||||
<f7-button class="numpad-button numpad-button-num" @click="inputNum(7)">
|
||||
<span class="numpad-button-text numpad-button-text-normal">{{ digits[7] }}</span>
|
||||
@@ -111,7 +119,8 @@ const isSupportClipboard = !!navigator.clipboard;
|
||||
const previousValue = ref<string>('');
|
||||
const currentSymbol = ref<string>('');
|
||||
const currentValue = ref<string>(getInitedStringValue(props.modelValue, props.flipNegative));
|
||||
const pasteingAmount = ref<boolean>(false);
|
||||
const pastingAmount = ref<boolean>(false);
|
||||
const showPastePopover = ref<boolean>(false);
|
||||
|
||||
const numeralSystem = computed<NumeralSystem>(() => getCurrentNumeralSystemType());
|
||||
|
||||
@@ -317,15 +326,17 @@ function clear(): void {
|
||||
}
|
||||
|
||||
function paste(): void {
|
||||
if (!isiOS() || !isSupportClipboard || pasteingAmount.value) {
|
||||
pasteingAmount.value = false;
|
||||
showPastePopover.value = false;
|
||||
|
||||
if (pastingAmount.value) {
|
||||
pastingAmount.value = false;
|
||||
return;
|
||||
}
|
||||
|
||||
pasteingAmount.value = true;
|
||||
pastingAmount.value = true;
|
||||
|
||||
navigator.clipboard.readText().then(text => {
|
||||
pasteingAmount.value = false;
|
||||
pastingAmount.value = false;
|
||||
|
||||
if (!text) {
|
||||
return;
|
||||
@@ -354,6 +365,7 @@ function paste(): void {
|
||||
|
||||
currentValue.value = getStringValue(parsedAmount, false);
|
||||
}).catch(error => {
|
||||
pastingAmount.value = false;
|
||||
logger.error('failed to read clipboard text', error);
|
||||
});
|
||||
}
|
||||
@@ -431,6 +443,18 @@ function onSheetClosed(): void {
|
||||
close();
|
||||
}
|
||||
|
||||
function onDisplayValueClick(): void {
|
||||
if (!isSupportClipboard) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isiOS()) {
|
||||
paste();
|
||||
} else {
|
||||
showPastePopover.value = true;
|
||||
}
|
||||
}
|
||||
|
||||
watch(() => props.flipNegative, (newValue) => {
|
||||
currentValue.value = getInitedStringValue(props.modelValue, newValue);
|
||||
});
|
||||
@@ -519,4 +543,32 @@ watch(() => props.flipNegative, (newValue) => {
|
||||
.numpad-button-text-confirm {
|
||||
font-size: var(--ebk-numpad-confirm-button-font-size);
|
||||
}
|
||||
|
||||
.numpad-paste-popover.popover {
|
||||
width: auto;
|
||||
|
||||
.numpad-paste-popover-context-menu-list.list {
|
||||
:first-child li:first-child a {
|
||||
&.active-state {
|
||||
border-radius: unset;
|
||||
}
|
||||
|
||||
> .item-content {
|
||||
min-height: var(--ebk-popover-context-menu-min-height);
|
||||
|
||||
> .item-inner {
|
||||
min-height: var(--ebk-popover-context-menu-min-height);
|
||||
padding-top: var(--ebk-popover-context-menu-vertical-padding);
|
||||
padding-bottom: var(--ebk-popover-context-menu-vertical-padding);
|
||||
padding-left: var(--ebk-popover-context-menu-left-padding);
|
||||
padding-right: var(--ebk-popover-context-menu-right-padding);
|
||||
|
||||
> .item-title {
|
||||
font-size: var(--ebk-popover-context-menu-button-font-size);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "Token",
|
||||
"Copy": "Kopieren",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Sichtbar",
|
||||
"Show": "Anzeigen",
|
||||
"Hide": "Verbergen",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "Token",
|
||||
"Copy": "Copy",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Visible",
|
||||
"Show": "Show",
|
||||
"Hide": "Hide",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "Token",
|
||||
"Copy": "Copiar",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Visible",
|
||||
"Show": "Mostrar",
|
||||
"Hide": "Ocultar",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "Jeton",
|
||||
"Copy": "Copier",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Visible",
|
||||
"Show": "Afficher",
|
||||
"Hide": "Masquer",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "Token",
|
||||
"Copy": "Copia",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Visibile",
|
||||
"Show": "Mostra",
|
||||
"Hide": "Nascondi",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "Token",
|
||||
"Copy": "コピー",
|
||||
"Paste": "Paste",
|
||||
"Visible": "見える",
|
||||
"Show": "表示",
|
||||
"Hide": "非表示",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "ಉದಾಹರಣೆ",
|
||||
"Token": "ಟೋಕನ್",
|
||||
"Copy": "ನಕಲಿಸು",
|
||||
"Paste": "Paste",
|
||||
"Visible": "ಗೋಚರಿಸು",
|
||||
"Show": "ತೋರಿಸು",
|
||||
"Hide": "ಮರೆಮಾಡು",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "토큰",
|
||||
"Copy": "복사",
|
||||
"Paste": "Paste",
|
||||
"Visible": "표시",
|
||||
"Show": "보기",
|
||||
"Hide": "숨기기",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "Token",
|
||||
"Copy": "Kopiëren",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Zichtbaar",
|
||||
"Show": "Tonen",
|
||||
"Hide": "Verbergen",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "Token",
|
||||
"Copy": "Copiar",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Visível",
|
||||
"Show": "Mostrar",
|
||||
"Hide": "Ocultar",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "Token",
|
||||
"Copy": "Копировать",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Видимый",
|
||||
"Show": "Показать",
|
||||
"Hide": "Скрыть",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Primer",
|
||||
"Token": "Žeton",
|
||||
"Copy": "Kopiraj",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Vidno",
|
||||
"Show": "Prikaži",
|
||||
"Hide": "Skrij",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "โทเค็น",
|
||||
"Copy": "คัดลอก",
|
||||
"Paste": "Paste",
|
||||
"Visible": "มองเห็น",
|
||||
"Show": "แสดง",
|
||||
"Hide": "ซ่อน",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Örnek",
|
||||
"Token": "Jeton",
|
||||
"Copy": "Kopyala",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Görünür",
|
||||
"Show": "Göster",
|
||||
"Hide": "Gizle",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "Token",
|
||||
"Copy": "Копіювати",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Видимий",
|
||||
"Show": "Показати",
|
||||
"Hide": "Сховати",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "Example",
|
||||
"Token": "Token",
|
||||
"Copy": "Sao chép",
|
||||
"Paste": "Paste",
|
||||
"Visible": "Hiển thị",
|
||||
"Show": "Hiển thị",
|
||||
"Hide": "Ẩn",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "示例",
|
||||
"Token": "令牌",
|
||||
"Copy": "复制",
|
||||
"Paste": "粘贴",
|
||||
"Visible": "可见",
|
||||
"Show": "显示",
|
||||
"Hide": "隐藏",
|
||||
|
||||
@@ -1482,6 +1482,7 @@
|
||||
"Example": "範例",
|
||||
"Token": "令牌",
|
||||
"Copy": "複製",
|
||||
"Paste": "貼上",
|
||||
"Visible": "可見",
|
||||
"Show": "顯示",
|
||||
"Hide": "隱藏",
|
||||
|
||||
@@ -62,6 +62,11 @@
|
||||
--ebk-large-footer-font-size: 13px;
|
||||
--ebk-sheet-title-font-size: 18px;
|
||||
--ebk-popover-list-group-title-height: 29px;
|
||||
--ebk-popover-context-menu-min-height: 40px;
|
||||
--ebk-popover-context-menu-vertical-padding: 12px;
|
||||
--ebk-popover-context-menu-left-padding: 4px;
|
||||
--ebk-popover-context-menu-right-padding: 20px;
|
||||
--ebk-popover-context-menu-button-font-size: 15px;
|
||||
--ebk-numpad-value-height: 50px;
|
||||
--ebk-numpad-value-small-font-size: 20px;
|
||||
--ebk-numpad-value-normal-font-size: 22px;
|
||||
|
||||
@@ -62,6 +62,11 @@
|
||||
--ebk-large-footer-font-size: 14px;
|
||||
--ebk-sheet-title-font-size: 19px;
|
||||
--ebk-popover-list-group-title-height: 30px;
|
||||
--ebk-popover-context-menu-min-height: 42px;
|
||||
--ebk-popover-context-menu-vertical-padding: 13px;
|
||||
--ebk-popover-context-menu-left-padding: 4px;
|
||||
--ebk-popover-context-menu-right-padding: 22px;
|
||||
--ebk-popover-context-menu-button-font-size: 16px;
|
||||
--ebk-numpad-value-height: 52px;
|
||||
--ebk-numpad-value-small-font-size: 21px;
|
||||
--ebk-numpad-value-normal-font-size: 23px;
|
||||
|
||||
@@ -62,6 +62,11 @@
|
||||
--ebk-large-footer-font-size: 13px;
|
||||
--ebk-sheet-title-font-size: 18px;
|
||||
--ebk-popover-list-group-title-height: 28px;
|
||||
--ebk-popover-context-menu-min-height: 38px;
|
||||
--ebk-popover-context-menu-vertical-padding: 11px;
|
||||
--ebk-popover-context-menu-left-padding: 4px;
|
||||
--ebk-popover-context-menu-right-padding: 18px;
|
||||
--ebk-popover-context-menu-button-font-size: 14px;
|
||||
--ebk-numpad-value-height: 50px;
|
||||
--ebk-numpad-value-small-font-size: 20px;
|
||||
--ebk-numpad-value-normal-font-size: 22px;
|
||||
|
||||
@@ -62,6 +62,11 @@
|
||||
--ebk-large-footer-font-size: 15px;
|
||||
--ebk-sheet-title-font-size: 20px;
|
||||
--ebk-popover-list-group-title-height: 32px;
|
||||
--ebk-popover-context-menu-min-height: 46px;
|
||||
--ebk-popover-context-menu-vertical-padding: 15px;
|
||||
--ebk-popover-context-menu-left-padding: 8px;
|
||||
--ebk-popover-context-menu-right-padding: 26px;
|
||||
--ebk-popover-context-menu-button-font-size: 17px;
|
||||
--ebk-numpad-value-height: 54px;
|
||||
--ebk-numpad-value-small-font-size: 22px;
|
||||
--ebk-numpad-value-normal-font-size: 24px;
|
||||
|
||||
@@ -62,6 +62,11 @@
|
||||
--ebk-large-footer-font-size: 16px;
|
||||
--ebk-sheet-title-font-size: 22px;
|
||||
--ebk-popover-list-group-title-height: 34px;
|
||||
--ebk-popover-context-menu-min-height: 48px;
|
||||
--ebk-popover-context-menu-vertical-padding: 15px;
|
||||
--ebk-popover-context-menu-left-padding: 10px;
|
||||
--ebk-popover-context-menu-right-padding: 28px;
|
||||
--ebk-popover-context-menu-button-font-size: 18px;
|
||||
--ebk-numpad-value-height: 60px;
|
||||
--ebk-numpad-value-small-font-size: 22px;
|
||||
--ebk-numpad-value-normal-font-size: 26px;
|
||||
|
||||
@@ -62,6 +62,11 @@
|
||||
--ebk-large-footer-font-size: 18px;
|
||||
--ebk-sheet-title-font-size: 24px;
|
||||
--ebk-popover-list-group-title-height: 36px;
|
||||
--ebk-popover-context-menu-min-height: 50px;
|
||||
--ebk-popover-context-menu-vertical-padding: 15px;
|
||||
--ebk-popover-context-menu-left-padding: 11px;
|
||||
--ebk-popover-context-menu-right-padding: 29px;
|
||||
--ebk-popover-context-menu-button-font-size: 19px;
|
||||
--ebk-numpad-value-height: 60px;
|
||||
--ebk-numpad-value-small-font-size: 24px;
|
||||
--ebk-numpad-value-normal-font-size: 28px;
|
||||
|
||||
@@ -62,6 +62,11 @@
|
||||
--ebk-large-footer-font-size: 20px;
|
||||
--ebk-sheet-title-font-size: 26px;
|
||||
--ebk-popover-list-group-title-height: 38px;
|
||||
--ebk-popover-context-menu-min-height: 54px;
|
||||
--ebk-popover-context-menu-vertical-padding: 16px;
|
||||
--ebk-popover-context-menu-left-padding: 12px;
|
||||
--ebk-popover-context-menu-right-padding: 30px;
|
||||
--ebk-popover-context-menu-button-font-size: 21px;
|
||||
--ebk-numpad-value-height: 60px;
|
||||
--ebk-numpad-value-small-font-size: 26px;
|
||||
--ebk-numpad-value-normal-font-size: 26px;
|
||||
|
||||
Reference in New Issue
Block a user