Removed title binding handler

This commit is contained in:
the-djmaze 2023-12-09 20:05:57 +01:00
parent e3219a2636
commit 3db4827354
4 changed files with 16 additions and 20 deletions

4
dev/External/ko.js vendored
View file

@ -89,10 +89,6 @@ Object.assign(ko.bindingHandlers, {
} }
}, },
title: {
update: (element, fValueAccessor) => element.title = ko.unwrap(fValueAccessor())
},
command: { command: {
init: (element, fValueAccessor, fAllBindings, viewModel, bindingContext) => { init: (element, fValueAccessor, fAllBindings, viewModel, bindingContext) => {
const command = fValueAccessor(); const command = fValueAccessor();

View file

@ -132,12 +132,12 @@
<div class="messageListPlace" data-bind="dragmessages: 1, i18nUpdate: groupedList, foreach: groupedList" draggable="true"> <div class="messageListPlace" data-bind="dragmessages: 1, i18nUpdate: groupedList, foreach: groupedList" draggable="true">
<div class="groupLabel" data-bind="text: label, click: $root.groupSearch" data-i18n="[title]GLOBAL/SEARCH"></div> <div class="groupLabel" data-bind="text: label, click: $root.groupSearch" data-i18n="[title]GLOBAL/SEARCH"></div>
<!-- ko foreach: messages --> <!-- ko foreach: messages -->
<div class="messageListItem" data-bind="css: lineAsCss(), attr: {'title':preview}"> <div class="messageListItem" data-bind="css: lineAsCss(), attr: {title: preview}">
<div class="messageCheckbox"> <div class="messageCheckbox">
<div class="checkboxMessage fontastic" data-bind="text: checked() ? '☑' : '☐'"></div> <div class="checkboxMessage fontastic" data-bind="text: checked() ? '☑' : '☐'"></div>
</div><div> </div><div>
<div class="flagParent fontastic"></div> <div class="flagParent fontastic"></div>
<div class="senderParent" data-bind="attr: {'title': senderClearEmailsString}, text: senderEmailsString"></div> <div class="senderParent" data-bind="attr: {title: senderClearEmailsString}, text: senderEmailsString"></div>
<div class="subjectParent" data-bind="text: subject"></div> <div class="subjectParent" data-bind="text: subject"></div>
<div class="threads-len" data-bind="visible: 1 < threadsLen(), text: threadsLenText(), attr: {'data-unseen': threadUnseenLen() || null}"></div> <div class="threads-len" data-bind="visible: 1 < threadsLen(), text: threadsLenText(), attr: {'data-unseen': threadUnseenLen() || null}"></div>
<div class="attachmentParent"> <div class="attachmentParent">
@ -152,12 +152,12 @@
<!-- /ko --> <!-- /ko -->
<!-- ko ifnot: listGrouped --> <!-- ko ifnot: listGrouped -->
<div class="messageListPlace" data-bind="dragmessages: 1, foreach: messageList" draggable="true"> <div class="messageListPlace" data-bind="dragmessages: 1, foreach: messageList" draggable="true">
<div class="messageListItem" data-bind="css: lineAsCss(), 'title':preview"> <div class="messageListItem" data-bind="css: lineAsCss(), attr:{title:preview}">
<div class="messageCheckbox"> <div class="messageCheckbox">
<div class="checkboxMessage fontastic" data-bind="text: checked() ? '☑' : '☐'"></div> <div class="checkboxMessage fontastic" data-bind="text: checked() ? '☑' : '☐'"></div>
</div><div data-bind="attr:{style:indent()}, css:{reply:indent()}"> </div><div data-bind="attr:{style:indent()}, css:{reply:indent()}">
<div class="flagParent fontastic"></div> <div class="flagParent fontastic"></div>
<div class="senderParent" data-bind="attr: {'title': senderClearEmailsString}, text: senderEmailsString"></div> <div class="senderParent" data-bind="attr: {title: senderClearEmailsString}, text: senderEmailsString"></div>
<div class="subjectParent" data-bind="text: subject"></div> <div class="subjectParent" data-bind="text: subject"></div>
<div class="threads-len" data-bind="visible: 1 < threadsLen(), text: threadsLenText(), attr: {'data-unseen': threadUnseenLen() || null}"></div> <div class="threads-len" data-bind="visible: 1 < threadsLen(), text: threadsLenText(), attr: {'data-unseen': threadUnseenLen() || null}"></div>
<div class="attachmentParent"> <div class="attachmentParent">

View file

@ -126,7 +126,7 @@
<div class="messageItemHeader" data-bind="if: message, i18nUpdate: message"> <div class="messageItemHeader" data-bind="if: message, i18nUpdate: message">
<div class="subjectParent"> <div class="subjectParent">
<span class="infoParent g-ui-user-select-none fontastic" data-bind="click: toggleFullInfo"></span> <span class="infoParent g-ui-user-select-none fontastic" data-bind="click: toggleFullInfo"></span>
<span class="flagParent g-ui-user-select-none flagOff fontastic" data-bind="text: message().isFlagged() ? '★' : '☆', css: {'flagOn': message().isFlagged(), 'flagOff': !message().isFlagged()}"></span> <span class="flagParent g-ui-user-select-none flagOff fontastic" data-bind="text: message().isFlagged() ? '★' : '☆', css: {flagOn: message().isFlagged(), flagOff: !message().isFlagged()}"></span>
<span class="subject" data-bind="text: message().subject"></span> <span class="subject" data-bind="text: message().subject"></span>
<a href="#" class="close" data-bind="click: closeMessage" style="margin-top: -8px;">×</a> <a href="#" class="close" data-bind="click: closeMessage" style="margin-top: -8px;">×</a>
</div> </div>
@ -228,16 +228,16 @@
<div class="bodySubHeader" data-bind="if: message, i18nUpdate: message"> <div class="bodySubHeader" data-bind="if: message, i18nUpdate: message">
<div class="readReceipt" data-bind="visible: askReadReceipt, click: readReceipt" <div class="readReceipt" data-bind="visible: askReadReceipt, click: readReceipt"
data-icon="✉" data-i18n="MESSAGE/BUTTON_NOTIFY_READ_RECEIPT"></div> data-icon="✉" data-i18n="MESSAGE/BUTTON_NOTIFY_READ_RECEIPT"></div>
<details class="attachmentsPlace" data-bind="visible: hasAttachments, css: {'selection-mode' : showAttachmentControls}, attr: { 'open': hasAttachments }"> <details class="attachmentsPlace" data-bind="visible: hasAttachments, css: {'selection-mode' : showAttachmentControls}, attr: { open: hasAttachments }">
<summary data-i18n="MESSAGE/PRINT_LABEL_ATTACHMENTS"></summary> <summary data-i18n="MESSAGE/PRINT_LABEL_ATTACHMENTS"></summary>
<!-- ko ifnot: simpleAttachmentsList --> <!-- ko ifnot: simpleAttachmentsList -->
<ul class="attachmentList" data-bind="foreach: listAttachments"> <ul class="attachmentList" data-bind="foreach: listAttachments">
<li class="attachmentItem" draggable="true" <li class="attachmentItem" draggable="true"
data-bind="event: { 'dragstart': eventDragStart }, attr: { 'title': fileName }, css: {'checked': checked}"> data-bind="event: { dragstart: eventDragStart }, attr: { title: fileName }, css: {checked: checked}">
<div class="attachmentIcon" data-bind="css: { 'hasPreview': hasPreview(), 'hasPreplay': hasPreplay(), 'isImage': isImage() }, attr: { 'style': thumbnailStyle() }"> <div class="attachmentIcon" data-bind="css: { hasPreview: hasPreview(), hasPreplay: hasPreplay(), isImage: isImage() }, attr: { style: thumbnailStyle() }">
<i class="hidePreview iconMain" data-bind="css: iconClass()"></i> <i class="hidePreview iconMain" data-bind="css: iconClass()"></i>
<div class="showPreview"> <div class="showPreview">
<a data-bind="css: {'attachmentImagePreview': isImage()}, attr: { 'title': fileName, 'href': linkPreviewMain() }" target="_blank"> <a data-bind="css: {attachmentImagePreview: isImage()}, attr: { title: fileName, href: linkPreviewMain() }" target="_blank">
<i class="iconMain" data-bind="visible: !hasThumbnail(), css: iconClass()"></i> <i class="iconMain" data-bind="visible: !hasThumbnail(), css: iconClass()"></i>
<div class="iconPreview fontastic">👁</div> <div class="iconPreview fontastic">👁</div>
</a> </a>
@ -254,7 +254,7 @@
<!-- /ko --> <!-- /ko -->
<!-- ko if: simpleAttachmentsList --> <!-- ko if: simpleAttachmentsList -->
<ul class="attachmentListSimple" data-bind="foreach: listAttachments"> <ul class="attachmentListSimple" data-bind="foreach: listAttachments">
<li class="attachmentItem" data-bind="attr: { 'title': fileName }, css: {'checked': checked}"> <li class="attachmentItem" data-bind="attr: { title: fileName }, css: {checked: checked}">
<span class="attachmentName" data-bind="text: fileName"></span> <span class="attachmentName" data-bind="text: fileName"></span>
<i class="checkboxAttachment fontastic" <i class="checkboxAttachment fontastic"
data-bind="visible: download, text: checked() ? '☑' : '☐', click: toggleChecked"></i> data-bind="visible: download, text: checked() ? '☑' : '☐', click: toggleChecked"></i>
@ -288,13 +288,13 @@
</div> </div>
<div data-bind="visible: message().pgpEncrypted()"> <div data-bind="visible: message().pgpEncrypted()">
<div class="openpgp-control encrypted" data-bind="css: {'success': message().pgpDecrypted()}"> <div class="openpgp-control encrypted" data-bind="css: {success: message().pgpDecrypted()}">
<span data-icon="🔒" data-i18n="OPENPGP/ENCRYPTED_MESSAGE"></span> <span data-icon="🔒" data-i18n="OPENPGP/ENCRYPTED_MESSAGE"></span>
<button class="btn" data-bind="visible: pgpSupported, click: pgpDecrypt" data-i18n="OPENPGP/BUTTON_DECRYPT"></button> <button class="btn" data-bind="visible: pgpSupported, click: pgpDecrypt" data-i18n="OPENPGP/BUTTON_DECRYPT"></button>
</div> </div>
</div> </div>
<div data-bind="visible: message().pgpSigned()"> <div data-bind="visible: message().pgpSigned()">
<div class="openpgp-control signed" data-bind="css: {'success': message().pgpVerified() && message().pgpVerified().success, 'error': message().pgpVerified() && !message().pgpVerified().success}"> <div class="openpgp-control signed" data-bind="css: {success: message().pgpVerified() && message().pgpVerified().success, error: message().pgpVerified() && !message().pgpVerified().success}">
<span data-icon="✍" data-i18n="OPENPGP/SIGNED_MESSAGE"></span> <span data-icon="✍" data-i18n="OPENPGP/SIGNED_MESSAGE"></span>
<button class="btn" data-bind="visible: pgpSupported, click: pgpVerify" data-i18n="OPENPGP/BUTTON_VERIFY"></button> <button class="btn" data-bind="visible: pgpSupported, click: pgpVerify" data-i18n="OPENPGP/BUTTON_VERIFY"></button>
</div> </div>

View file

@ -1,4 +1,4 @@
<header class="g-ui-user-select-none" data-bind="css: {'loading': saving() || sending()}"> <header class="g-ui-user-select-none" data-bind="css: {loading: saving() || sending()}">
<a class="btn" data-bind="command: sendCommand, tooltipErrorTip: sendErrorDesc, css: {'btn-success': sendButtonSuccess, 'btn-danger': sendError, 'btn-warning': sendSuccessButSaveError }"> <a class="btn" data-bind="command: sendCommand, tooltipErrorTip: sendErrorDesc, css: {'btn-success': sendButtonSuccess, 'btn-danger': sendError, 'btn-warning': sendSuccessButSaveError }">
<i data-bind="css: {'icon-paper-plane': !sending(), 'icon-spinner': sending()}"></i> <i data-bind="css: {'icon-paper-plane': !sending(), 'icon-spinner': sending()}"></i>
<span class="hide-mobile" data-i18n="COMPOSE/BUTTON_SEND"></span> <span class="hide-mobile" data-i18n="COMPOSE/BUTTON_SEND"></span>
@ -181,13 +181,13 @@
<span data-i18n="GLOBAL/ATTACHMENTS"></span> <span data-i18n="GLOBAL/ATTACHMENTS"></span>
</label> </label>
<div class="tab-content attachmentAreaParent" role="tabpanel" aria-hidden="true" style="grid-column-end:4"> <div class="tab-content attachmentAreaParent" role="tabpanel" aria-hidden="true" style="grid-column-end:4">
<div class="b-attachment-place" data-bind="visible: addAttachmentEnabled() && dragAndDropVisible(), css: {'dragAndDropOver': dragAndDropOver}" <div class="b-attachment-place" data-bind="visible: addAttachmentEnabled() && dragAndDropVisible(), css: {dragAndDropOver: dragAndDropOver}"
data-i18n="COMPOSE/ATTACH_DROP_FILES_DESC"></div> data-i18n="COMPOSE/ATTACH_DROP_FILES_DESC"></div>
<ul class="attachmentList" data-bind="foreach: attachments"> <ul class="attachmentList" data-bind="foreach: attachments">
<li class="attachmentItem" data-bind="attr: { 'title': title }, css: { 'waiting': waiting, 'error': '' !== error() }"> <li class="attachmentItem" data-bind="attr: { title: title }, css: { waiting: waiting, error: '' !== error() }">
<div class="attachmentIcon"> <div class="attachmentIcon">
<i class="iconMain" data-bind="css: iconClass, visible: !uploading() || 0 === progress()"></i> <i class="iconMain" data-bind="css: iconClass, visible: !uploading() || 0 === progress()"></i>
<div class="iconProgress" data-bind="attr: { 'style': progressStyle }, visible: uploading"></div> <div class="iconProgress" data-bind="attr: { style: progressStyle }, visible: uploading"></div>
<div class="iconBG" data-bind="text: progressText, visible: uploading"></div> <div class="iconBG" data-bind="text: progressText, visible: uploading"></div>
</div> </div>
<div class="attachmentNameParent"> <div class="attachmentNameParent">