mirror of
				https://github.com/TriliumNext/Notes.git
				synced 2025-10-31 21:11:30 +08:00 
			
		
		
		
	sync status widget WIP
This commit is contained in:
		
							parent
							
								
									7e2186721f
								
							
						
					
					
						commit
						b79d81a94d
					
				
							
								
								
									
										106
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										106
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -1,6 +1,6 @@ | ||||
| { | ||||
|   "name": "trilium", | ||||
|   "version": "0.46.4-beta", | ||||
|   "version": "0.46.5", | ||||
|   "lockfileVersion": 1, | ||||
|   "requires": true, | ||||
|   "dependencies": { | ||||
| @ -1894,9 +1894,9 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "caniuse-lite": { | ||||
|       "version": "1.0.30001199", | ||||
|       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001199.tgz", | ||||
|       "integrity": "sha512-ifbK2eChUCFUwGhlEzIoVwzFt1+iriSjyKKFYNfv6hN34483wyWpLLavYQXhnR036LhkdUYaSDpHg1El++VgHQ==", | ||||
|       "version": "1.0.30001203", | ||||
|       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001203.tgz", | ||||
|       "integrity": "sha512-/I9tvnzU/PHMH7wBPrfDMSuecDeUKerjCPX7D0xBbaJZPxoT9m+yYxt0zCTkcijCkjTdim3H56Zm0i5Adxch4w==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "caseless": { | ||||
| @ -2165,7 +2165,8 @@ | ||||
|     "colorette": { | ||||
|       "version": "1.2.1", | ||||
|       "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", | ||||
|       "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" | ||||
|       "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "colors": { | ||||
|       "version": "1.4.0", | ||||
| @ -3593,9 +3594,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "electron-to-chromium": { | ||||
|       "version": "1.3.687", | ||||
|       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.687.tgz", | ||||
|       "integrity": "sha512-IpzksdQNl3wdgkzf7dnA7/v10w0Utf1dF2L+B4+gKrloBrxCut+au+kky3PYvle3RMdSxZP+UiCZtLbcYRxSNQ==", | ||||
|       "version": "1.3.693", | ||||
|       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.693.tgz", | ||||
|       "integrity": "sha512-vUdsE8yyeu30RecppQtI+XTz2++LWLVEIYmzeCaCRLSdtKZ2eXqdJcrs85KwLiPOPVc6PELgWyXBsfqIvzGZag==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "electron-window-state": { | ||||
| @ -4048,6 +4049,11 @@ | ||||
|       "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", | ||||
|       "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" | ||||
|     }, | ||||
|     "fast-xml-parser": { | ||||
|       "version": "3.19.0", | ||||
|       "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", | ||||
|       "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==" | ||||
|     }, | ||||
|     "fastest-levenshtein": { | ||||
|       "version": "1.0.12", | ||||
|       "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", | ||||
| @ -4572,11 +4578,6 @@ | ||||
|         "concat-stream": "^1.4.7" | ||||
|       } | ||||
|     }, | ||||
|     "html-comment-regex": { | ||||
|       "version": "1.1.2", | ||||
|       "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", | ||||
|       "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" | ||||
|     }, | ||||
|     "html-encoding-sniffer": { | ||||
|       "version": "2.0.1", | ||||
|       "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", | ||||
| @ -4903,11 +4904,11 @@ | ||||
|       "dev": true | ||||
|     }, | ||||
|     "is-svg": { | ||||
|       "version": "4.2.2", | ||||
|       "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.2.2.tgz", | ||||
|       "integrity": "sha512-JlA7Mc7mfWjdxxTkJ094oUK9amGD7gQaj5xA/NCY0vlVvZ1stmj4VX+bRuwOMN93IHRZ2ctpPH/0FO6DqvQ5Rw==", | ||||
|       "version": "4.3.1", | ||||
|       "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.3.1.tgz", | ||||
|       "integrity": "sha512-h2CGs+yPUyvkgTJQS9cJzo9lYK06WgRiXUqBBHtglSzVKAuH4/oWsqk7LGfbSa1hGk9QcZ0SyQtVggvBA8LZXA==", | ||||
|       "requires": { | ||||
|         "html-comment-regex": "^1.1.2" | ||||
|         "fast-xml-parser": "^3.19.0" | ||||
|       } | ||||
|     }, | ||||
|     "is-typedarray": { | ||||
| @ -4980,19 +4981,19 @@ | ||||
|       } | ||||
|     }, | ||||
|     "jasmine": { | ||||
|       "version": "3.6.4", | ||||
|       "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.6.4.tgz", | ||||
|       "integrity": "sha512-hIeOou6y0BgCOKYgXYveQvlY+PTHgDPajFf+vLCYbMTQ+VjAP9+EQv0nuC9+gyCAAWISRFauB1XUb9kFuOKtcQ==", | ||||
|       "version": "3.7.0", | ||||
|       "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-3.7.0.tgz", | ||||
|       "integrity": "sha512-wlzGQ+cIFzMEsI+wDqmOwvnjTvolLFwlcpYLCqSPPH0prOQaW3P+IzMhHYn934l1imNvw07oCyX+vGUv3wmtSQ==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "glob": "^7.1.6", | ||||
|         "jasmine-core": "~3.6.0" | ||||
|         "jasmine-core": "~3.7.0" | ||||
|       } | ||||
|     }, | ||||
|     "jasmine-core": { | ||||
|       "version": "3.6.0", | ||||
|       "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz", | ||||
|       "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", | ||||
|       "version": "3.7.1", | ||||
|       "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.7.1.tgz", | ||||
|       "integrity": "sha512-DH3oYDS/AUvvr22+xUBW62m1Xoy7tUlY1tsxKEJvl5JeJ7q8zd1K5bUwiOxdH+erj6l2vAMM3hV25Xs9/WrmuQ==", | ||||
|       "dev": true | ||||
|     }, | ||||
|     "jest-worker": { | ||||
| @ -5694,9 +5695,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "nanoid": { | ||||
|       "version": "3.1.20", | ||||
|       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", | ||||
|       "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==" | ||||
|       "version": "3.1.22", | ||||
|       "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.22.tgz", | ||||
|       "integrity": "sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ==" | ||||
|     }, | ||||
|     "napi-build-utils": { | ||||
|       "version": "1.0.2", | ||||
| @ -6041,9 +6042,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "open": { | ||||
|       "version": "8.0.2", | ||||
|       "resolved": "https://registry.npmjs.org/open/-/open-8.0.2.tgz", | ||||
|       "integrity": "sha512-NV5QmWJrTaNBLHABJyrb+nd5dXI5zfea/suWawBhkHzAbVhLLiJdrqMgxMypGK9Eznp2Ltoh7SAVkQ3XAucX7Q==", | ||||
|       "version": "8.0.3", | ||||
|       "resolved": "https://registry.npmjs.org/open/-/open-8.0.3.tgz", | ||||
|       "integrity": "sha512-7nsHNw3rOIPTwhF5iYkgE+LVM/oUHWC3cgrWNxPqa+W+Wl5Ekvo32qayB5PYX8zNjXzUkrTaJsWpaGmuw8Aspg==", | ||||
|       "requires": { | ||||
|         "define-lazy-prop": "^2.0.0", | ||||
|         "is-docker": "^2.1.1", | ||||
| @ -6377,13 +6378,20 @@ | ||||
|       } | ||||
|     }, | ||||
|     "postcss": { | ||||
|       "version": "8.2.4", | ||||
|       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.4.tgz", | ||||
|       "integrity": "sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==", | ||||
|       "version": "8.2.8", | ||||
|       "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.8.tgz", | ||||
|       "integrity": "sha512-1F0Xb2T21xET7oQV9eKuctbM9S7BC0fetoHCc4H13z0PT6haiRLP4T0ZY4XWh7iLP0usgqykT6p9B2RtOf4FPw==", | ||||
|       "requires": { | ||||
|         "colorette": "^1.2.1", | ||||
|         "colorette": "^1.2.2", | ||||
|         "nanoid": "^3.1.20", | ||||
|         "source-map": "^0.6.1" | ||||
|       }, | ||||
|       "dependencies": { | ||||
|         "colorette": { | ||||
|           "version": "1.2.2", | ||||
|           "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz", | ||||
|           "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==" | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     "prebuild-install": { | ||||
| @ -6912,9 +6920,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "sanitize-html": { | ||||
|       "version": "2.3.2", | ||||
|       "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.3.2.tgz", | ||||
|       "integrity": "sha512-p7neuskvC8pSurUjdVmbWPXmc9A4+QpOXIL+4gwFC+av5h+lYCXFT8uEneqsFQg/wEA1IH+cKQA60AaQI6p3cg==", | ||||
|       "version": "2.3.3", | ||||
|       "resolved": "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.3.3.tgz", | ||||
|       "integrity": "sha512-DCFXPt7Di0c6JUnlT90eIgrjs6TsJl/8HYU3KLdmrVclFN4O0heTcVbJiMa23OKVr6aR051XYtsgd8EWwEBwUA==", | ||||
|       "requires": { | ||||
|         "deepmerge": "^4.2.2", | ||||
|         "escape-string-regexp": "^4.0.0", | ||||
| @ -6949,9 +6957,9 @@ | ||||
|           } | ||||
|         }, | ||||
|         "domutils": { | ||||
|           "version": "2.4.4", | ||||
|           "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.4.4.tgz", | ||||
|           "integrity": "sha512-jBC0vOsECI4OMdD0GC9mGn7NXPLb+Qt6KW1YDQzeQYRUFKmNG8lh7mO5HiELfr+lLQE7loDVI4QcAxV80HS+RA==", | ||||
|           "version": "2.5.0", | ||||
|           "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.5.0.tgz", | ||||
|           "integrity": "sha512-Ho16rzNMOFk2fPwChGh3D2D9OEHAfG19HgmRR2l+WLSsIstNsAYBzePH412bL0y5T44ejABIVfTHQ8nqi/tBCg==", | ||||
|           "requires": { | ||||
|             "dom-serializer": "^1.0.1", | ||||
|             "domelementtype": "^2.0.1", | ||||
| @ -6969,9 +6977,9 @@ | ||||
|           "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" | ||||
|         }, | ||||
|         "htmlparser2": { | ||||
|           "version": "6.0.0", | ||||
|           "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.0.tgz", | ||||
|           "integrity": "sha512-numTQtDZMoh78zJpaNdJ9MXb2cv5G3jwUoe3dMQODubZvLoGvTE/Ofp6sHvH8OGKcN/8A47pGLi/k58xHP/Tfw==", | ||||
|           "version": "6.0.1", | ||||
|           "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.0.1.tgz", | ||||
|           "integrity": "sha512-GDKPd+vk4jvSuvCbyuzx/unmXkk090Azec7LovXP8as1Hn8q9p3hbjmDGbUqqhknw0ajwit6LiiWqfiTUPMK7w==", | ||||
|           "requires": { | ||||
|             "domelementtype": "^2.0.1", | ||||
|             "domhandler": "^4.0.0", | ||||
| @ -7622,9 +7630,9 @@ | ||||
|       } | ||||
|     }, | ||||
|     "terser": { | ||||
|       "version": "5.6.0", | ||||
|       "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.0.tgz", | ||||
|       "integrity": "sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA==", | ||||
|       "version": "5.6.1", | ||||
|       "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", | ||||
|       "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "commander": "^2.20.0", | ||||
| @ -8113,9 +8121,9 @@ | ||||
|       "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==" | ||||
|     }, | ||||
|     "webpack": { | ||||
|       "version": "5.25.0", | ||||
|       "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.25.0.tgz", | ||||
|       "integrity": "sha512-jqQZopNCzt9c4K6Qa7j6kIhzHfR9wgF84go58VoNp4JbZrBr2D2l5lcv72CW80yc6NJl8CR6OY8xctnIs0r2uw==", | ||||
|       "version": "5.27.0", | ||||
|       "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.27.0.tgz", | ||||
|       "integrity": "sha512-So7grHu//UyJ+80VrNHjWwW6WSZkfWWD6a7NV/88r8G92PO6TYOGzbtTiZBwbPVkx6LVP8OYvHD+IxuJ2KBz4g==", | ||||
|       "dev": true, | ||||
|       "requires": { | ||||
|         "@types/eslint-scope": "^3.7.0", | ||||
|  | ||||
							
								
								
									
										10
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								package.json
									
									
									
									
									
								
							| @ -49,19 +49,19 @@ | ||||
|     "image-type": "4.1.0", | ||||
|     "ini": "2.0.0", | ||||
|     "is-animated": "^2.0.1", | ||||
|     "is-svg": "4.2.2", | ||||
|     "is-svg": "4.3.1", | ||||
|     "jimp": "0.16.1", | ||||
|     "jsdom": "16.5.1", | ||||
|     "mime-types": "2.1.29", | ||||
|     "multer": "1.4.2", | ||||
|     "node-abi": "2.21.0", | ||||
|     "open": "8.0.2", | ||||
|     "open": "8.0.3", | ||||
|     "portscanner": "2.2.0", | ||||
|     "rand-token": "1.0.1", | ||||
|     "request": "^2.88.2", | ||||
|     "rimraf": "3.0.2", | ||||
|     "sanitize-filename": "1.6.3", | ||||
|     "sanitize-html": "2.3.2", | ||||
|     "sanitize-html": "2.3.3", | ||||
|     "sax": "1.2.4", | ||||
|     "semver": "7.3.4", | ||||
|     "serve-favicon": "2.5.0", | ||||
| @ -83,11 +83,11 @@ | ||||
|     "electron-packager": "15.2.0", | ||||
|     "electron-rebuild": "2.3.5", | ||||
|     "esm": "3.2.25", | ||||
|     "jasmine": "3.6.4", | ||||
|     "jasmine": "3.7.0", | ||||
|     "jsdoc": "3.6.6", | ||||
|     "lorem-ipsum": "2.0.3", | ||||
|     "rcedit": "3.0.0", | ||||
|     "webpack": "5.25.0", | ||||
|     "webpack": "5.27.0", | ||||
|     "webpack-cli": "4.5.0" | ||||
|   }, | ||||
|   "optionalDependencies": { | ||||
|  | ||||
| @ -33,6 +33,7 @@ import ImagePropertiesWidget from "../widgets/type_property_widgets/image_proper | ||||
| import NotePropertiesWidget from "../widgets/type_property_widgets/note_properties.js"; | ||||
| import NoteIconWidget from "../widgets/note_icon.js"; | ||||
| import SearchResultWidget from "../widgets/search_result.js"; | ||||
| import SyncStatusWidget from "../widgets/sync_status.js"; | ||||
| 
 | ||||
| const RIGHT_PANE_CSS = ` | ||||
| <style> | ||||
| @ -141,6 +142,7 @@ export default class DesktopMainWindowLayout { | ||||
|             .child(new FlexContainer('row').overflowing() | ||||
|                 .css('height', '36px') | ||||
|                 .child(new GlobalMenuWidget()) | ||||
|                 .child(new SyncStatusWidget()) | ||||
|                 .child(new TabRowWidget()) | ||||
|                 .child(new TitleBarButtonsWidget())) | ||||
|             .child(new StandardTopWidget() | ||||
|  | ||||
| @ -63,7 +63,7 @@ const TPL = ` | ||||
|         <span class="caret"></span> | ||||
|     </button> | ||||
|     <div class="dropdown-menu dropdown-menu-right"> | ||||
|         <a data-trigger-command="renderActiveNote" class="dropdown-item render-note-button">Re-render note</a> | ||||
|         <a data-trigger-command="renderActiveNote" class="dropdown-item render-note-button"><kbd data-command="renderActiveNote"></kbd> Re-render note</a> | ||||
|         <div class="dropdown-item protect-button"> | ||||
|             Protect the note | ||||
|          | ||||
|  | ||||
							
								
								
									
										58
									
								
								src/public/app/widgets/sync_status.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								src/public/app/widgets/sync_status.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,58 @@ | ||||
| import BasicWidget from "./basic_widget.js"; | ||||
| import utils from "../services/utils.js"; | ||||
| import syncService from "../services/sync.js"; | ||||
| 
 | ||||
| const TPL = ` | ||||
| <div class="sync-status-wrapper"> | ||||
|     <style> | ||||
|     .sync-status-wrapper { | ||||
|         height: 35px; | ||||
|         box-sizing: border-box; | ||||
|         border-bottom: 1px solid var(--main-border-color); | ||||
|     } | ||||
|      | ||||
|     .sync-status { | ||||
|         height: 34px; | ||||
|         box-sizing: border-box; | ||||
|     } | ||||
|      | ||||
|     .sync-status button { | ||||
|         margin-right: 5px; | ||||
|         margin-left: 5px; | ||||
|         height: 34px; | ||||
|         border: none; | ||||
|         font-size: 180%; | ||||
|         padding-left: 10px; | ||||
|         padding-right: 10px; | ||||
|     } | ||||
|      | ||||
|     .sync-status button span { | ||||
|         position: relative; | ||||
|         top: -5px; | ||||
|     } | ||||
|      | ||||
|     .sync-status button:hover { | ||||
|         background-color: var(--hover-item-background-color); | ||||
|     } | ||||
|      | ||||
|     .sync-status .dropdown-menu { | ||||
|         width: 20em; | ||||
|     } | ||||
|     </style> | ||||
| 
 | ||||
|     <div class="sync-status"> | ||||
|         <button type="button" class="btn btn-sm" title="Sync status"> | ||||
|             <span class="bx bx-badge-check"></span> | ||||
| <!--            <span class="bx bx-cloud-upload"></span>--> | ||||
| <!--            <span class="bx bx-sync bx-spin bx-flip-horizontal"></span>--> | ||||
|         </button> | ||||
|     </div> | ||||
| </div> | ||||
| `;
 | ||||
| 
 | ||||
| export default class SyncStatusWidget extends BasicWidget { | ||||
|     doRender() { | ||||
|         this.$widget = $(TPL); | ||||
|         this.overflowing(); | ||||
|     } | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 zadam
						zadam