From 1b37f3e5c708c47bd46a59a183580d1f59855939 Mon Sep 17 00:00:00 2001 From: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed, 21 Dec 2022 17:45:29 +0000 Subject: [PATCH 01/77] Squashed commit of the following: commit f6fd421afa42105b00e8a876ad4a5644c38a34af Merge: 0da81bdf24 e7b46e917c Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Dec 21 00:34:06 2022 +0000 Merge branch 'master' into search-overhaul commit 0da81bdf24eb477ba39024c33e1c0f7cdbd03a14 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat Dec 3 22:15:11 2022 +0000 Merge in master commit ace213884311a65b4aa82602e59e7e92f24ebdd5 Merge: 0308dd64a2 d3d1c88d29 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat Dec 3 21:52:15 2022 +0000 Merge branch 'master' into search-overhaul commit 0308dd64a2f969737a80835b6d3b1edf45685bd7 Merge: 6c4d2c8aca 06d0ce8f6a Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri Oct 21 23:01:22 2022 +0100 Merge branch 'master' into search-overhaul commit 6c4d2c8aca6d2daf9a10ff1e545ab79a19f569ff Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sun Oct 2 12:51:36 2022 +0100 Fix shortcut, add more categories commit 2a8642df738d4d39500173fbafb7a36ce9c1db1a Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat Oct 1 16:58:15 2022 +0100 Remove sidebar source commit d77c2dd2108dd68fbd0a0753644db733fd166cb5 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat Oct 1 16:52:52 2022 +0100 Linting commit 113aa94c5fa9c75f6e9775f84fb840333db058de Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat Oct 1 16:48:28 2022 +0100 Improve appearance, use vars, improve animations commit 8004e777698f14719a0eb9cd7585bcd1932afd44 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat Oct 1 16:01:49 2022 +0100 Update side-panel-tasks.less commit e7d2391d915323bbdf479a11673831a78a4889c0 Merge: 8100f56ef8 37749a700b Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat Oct 1 16:00:17 2022 +0100 Merge branch 'master' into search-overhaul commit 8100f56ef803bf1537b17777ed04b29ef584d5e0 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Aug 10 19:27:37 2022 +0100 Update command-palette.jelly commit 6ce62f0e1febcadfd6fa4e5cbc604d3f1e7b5dae Merge: 9bbb282066 f6daa7653f Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Aug 10 19:27:22 2022 +0100 Merge branch 'new-search-bar-component' into search-overhaul commit f6daa7653f57858d626bf04dbcce3c564ccdafe4 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Aug 10 19:27:12 2022 +0100 Update search-bar.jelly commit 9bec29fafa1b42b9992743d5404af00c737efb16 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Aug 10 19:26:18 2022 +0100 Update search-bar.jelly commit afebc6fb4c1c650dec693c5ad9ea0d1c016c8774 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Aug 10 19:24:51 2022 +0100 Update search-bar.less commit 9bbb282066ccf78348e9bf7ca54bf60eea6f4c7f Merge: c13c34e0bc f97ff09d43 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Aug 10 19:19:44 2022 +0100 Merge branch 'new-search-bar-component' into search-overhaul commit f97ff09d43488826df74ecb2f8aa684a16521208 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Aug 10 19:19:32 2022 +0100 Update search-bar.less commit c13c34e0bcd342f011c06e3df7801f134613c8cb Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Aug 10 14:46:22 2022 +0100 Use search bar component commit c664816c6846e0134b9e60b5d424c173838d9b92 Merge: b593d92b62 77e62b8d48 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Aug 9 23:30:32 2022 +0100 Merge branch 'new-search-bar-component' into search-overhaul commit b593d92b62039ccbe6cc68c397ef0a622aa761ee Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Aug 9 23:30:02 2022 +0100 Linting commit 21d825c1fe359e16bef00b6332c6c45df9b565d1 Merge: 702bb2a48c f5d7165724 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Aug 9 23:10:32 2022 +0100 Merge branch 'master' into search-overhaul commit 77e62b8d48fe054198122dd7b3454ff18eff6069 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Aug 9 22:02:13 2022 +0100 Linting commit 60d6a7fb9773287bbefb2148a8fcf739fd58b3eb Merge: 591e9832da f5d7165724 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Aug 9 21:56:52 2022 +0100 Merge branch 'master' into new-search-bar-component commit 591e9832da2eb290790a827e1eb4e35e5d01b663 Merge: 6cfce9fdc1 ef7f40814e Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon Jul 25 21:04:10 2022 +0100 Merge branch 'master' into new-search-bar-component commit 6cfce9fdc14f838d37fb598d650569dfb4e290b4 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jul 21 22:41:27 2022 +0100 Replace plugin manager search with new search component commit 95922de883278ee910890c94dcd2e66dbcc152fa Merge: 65f7cd3d86 09eb5f1f6a Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jul 21 22:32:05 2022 +0100 Merge branch 'new-plugin-manager-1' into new-search-bar-component commit 65f7cd3d86968955412427b56303a670f4d1f27e Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jul 21 22:31:54 2022 +0100 Add autofocus commit 1db67ab16c24b75c0ccc2671292d08b506d53658 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jul 21 18:06:20 2022 +0100 Update Jenkins search bar style commit 83e4b1228e444b22e7bed45be1e0cb66b37b4db4 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jul 21 17:16:57 2022 +0100 Add keyboard shortcut symbol commit 1f5c74edfaf6690fb0a2834aec224542a38520f6 Merge: 9878cacad8 6f7a259845 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jul 21 16:31:30 2022 +0100 Merge branch 'add-search-keyboard-shortcut' into new-search-bar-component commit 6f7a259845b5720dff1c9559dac95171ad885c55 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jul 21 16:31:09 2022 +0100 Update keyboard-shortcuts.js commit 9b10a2d68ad23b318381e89506a34000ce442fa2 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jul 21 15:33:21 2022 +0100 Update yarn.lock commit fac0b6f9187471a26902d977d409d3686ebd2be6 Merge: 9654bfb7e6 bcefcc5f79 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jul 21 14:56:29 2022 +0100 Merge branch 'master' into add-search-keyboard-shortcut commit 9654bfb7e684c67a375f2b8652c2865aff488d4c Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jul 21 14:51:01 2022 +0100 Update commit f2a6e5646dc5a8f7350bf50e4634154f9bd64d4a Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jul 20 22:31:38 2022 +0100 Add iPhone to use CMD key check commit ce21573bf6e80de8e909bcc52775567281121ab9 Merge: cb34850da5 588ccd699e Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jul 20 21:39:18 2022 +0100 Merge branch 'master' into add-search-keyboard-shortcut commit cb34850da57f6928d55f2f1cb8d28d729717413f Merge: db5612aeaa 237b9ca457 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jul 20 21:34:32 2022 +0100 Merge branch 'master' into add-search-keyboard-shortcut commit 9878cacad86d80e2e38babd34af0708eb31db90b Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jul 20 21:24:27 2022 +0100 Update search-bar.jelly commit 930166b7f292220fa6cfcd845d884f38c5be8b0e Merge: d584d0fa8e 237b9ca457 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jul 20 19:12:44 2022 +0100 Merge branch 'master' into new-search-bar-component commit 09eb5f1f6ae2b95e9440ccfbb3f1e90935224360 Merge: b8880ed225 7509a69325 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon Jul 18 21:58:09 2022 +0100 Merge branch 'master' into new-plugin-manager-1 commit b8880ed2250eab2a2975d2d0921c0670e0749556 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon Jul 18 14:55:39 2022 +0100 Fix checkbox controller selection commit 0b808b0212be78e51e4ba4bf3555ac0fb2a2ffb6 Merge: 4d640b49cf 38d4e86a80 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon Jul 18 14:50:01 2022 +0100 Merge branch 'master' into new-plugin-manager-1 commit 4d640b49cf3d807bef2fe58977449303e5ae794f Merge: e14b7d2099 f52d99a0e5 Author: Tim Jacomb <21194782+timja@users.noreply.github.com> Date: Thu Jul 14 09:01:42 2022 +0100 Merge branch 'master' into new-plugin-manager-1 commit d584d0fa8e1cf2017d1a2de53a2fee15e9ae1087 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jul 13 23:38:19 2022 +0100 Init commit e14b7d2099d59707b0345e4dfdc36a80faf4f5b5 Merge: 0f2ef2f78e a990ebcda4 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 12 23:24:54 2022 +0100 Merge branch 'master' into new-plugin-manager-1 commit db5612aeaa42d87896645f39ecda3679c36666b1 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 12 22:12:00 2022 +0100 Squashed commit of the following: commit b7759401e0eabbe3c7856cd1f409b498967d1e63 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 12 22:10:40 2022 +0100 Update package commit 81915834d1b819a6ed00b5987f54c4ce96973bd8 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 12 22:04:31 2022 +0100 Update headerContent.jelly commit 0f9f7c6bf826d665de56f7a461c077b58db82057 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 12 22:03:37 2022 +0100 Remove core-js dependency commit c6bb510dc08eaf7542335d2459ae81894fecbf26 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 12 21:55:29 2022 +0100 Minimize code just for search bar commit 47ccdfb6e0d80f63be29c99518c78c3f3636c3d0 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 12 21:37:27 2022 +0100 Reset more files commit b710e4dafc638352e3fe7d7edca1077664061de6 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 12 21:36:23 2022 +0100 Reset commit 3da7082169813ab913151aa37a5dfbf8a92c4fd9 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 12 21:31:30 2022 +0100 Add console warning for duplicated registrations commit 4dbc2e399708ea4200a27c19ba3b7577e8f85c81 Merge: 413eff2268 76481f4af8 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 12 16:37:16 2022 +0100 Merge branch 'master' into keyboard-shortcuts commit 413eff2268ab1fb6068e934d161e4f882d2d4ec8 Merge: 80bee75bc5 77a36fcee9 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri Jun 3 23:10:07 2022 +0100 Merge branch 'master' into keyboard-shortcuts commit 80bee75bc536c626de13f121f14f80647fa20c6b Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri May 13 22:24:06 2022 +0100 Update styles.less commit 875c93ed5299ea0a77448e6eadc4b23fe3d7e475 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri May 13 22:23:34 2022 +0100 Update keyboard-shortcuts.less commit 1b6391c0424ad98a4c6a17070e8904369b7e7a06 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri May 13 22:17:13 2022 +0100 Update keyboard-shortcuts.js commit c828d8785b7af00822091b1557174ade0b1b5357 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri May 13 22:16:57 2022 +0100 Update keyboard-shortcuts.js commit 7ad4b6f1d40138b925871438d60d0bbd15a8716e Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri May 13 22:14:47 2022 +0100 Updated comments, remove unneeded dependency commit 9d7abbb0db3e45b44e992a6341460d115e8ff1cc Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri May 13 22:04:07 2022 +0100 Cleanup commit 76702be007ca2360508b60086cbb86e320551960 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri May 13 22:02:02 2022 +0100 Update yarn.lock commit ea0e439b70014a272ecbe10bab86c306b1755f3e Merge: 8d1112d08b e128402b5f Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri May 13 22:01:17 2022 +0100 Merge branch 'master' into keyboard-shortcuts commit 8d1112d08b35c53989d8ce7467efef9ae38825a4 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri May 13 22:01:05 2022 +0100 Isolate out tooltip changes commit 76fc0892dd81f02e5baa05e258bbbb9eecf66040 Merge: 7d7cd05307 bbd7ca2c4d Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri May 13 21:42:05 2022 +0100 Merge branch 'master' into keyboard-shortcuts commit 7d7cd05307385f4ff36ea1db2e1a949e03677ced Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri May 13 21:41:42 2022 +0100 Update buildHealth.jelly commit 7ed6ff0527fab9f8d19640549dbbd8ad1a9c2478 Merge: 7bce4da4ce c350527e90 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Apr 28 20:21:45 2022 +0100 Merge branch 'master' into keyboard-shortcuts commit 7bce4da4ce9215ecb5179b6adec0d1cfa280716c Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat Apr 16 10:59:03 2022 +0100 Add more shortcuts, add animation on key press commit 07b741bf24b83e44dc3428b0f512f2f1acf3b134 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat Apr 16 01:12:22 2022 +0100 Add animation for selected key commit ce644cb979023d4a597bdb7535a89c6f2b5baa43 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat Apr 16 00:47:45 2022 +0100 Add keyboard shortcuts commit 34d6c896fa3f1b6d25c77bf04791f47a6071bf3a Merge: dd5b9053fe 4a38d651fb Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sat Apr 16 00:40:41 2022 +0100 Merge branch 'master' into keyboard-shortcuts commit dd5b9053fe5f928b2c65d1b5316735361bfcf02e Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 29 01:13:57 2022 +0100 Add jelly component commit 959f5868ce1824c6196c9b138bab3711499f0242 Merge: 54b47b5b31 32d790a375 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon Mar 28 23:51:43 2022 +0100 Merge branch 'tippy-1-tooltip' into keyboard-shortcuts commit 54b47b5b319733bcc460fb59f84112e76cdabb17 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon Mar 28 23:47:13 2022 +0100 Reset further commit b580312b86b0bf7d290646256827d36cbed087a2 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon Mar 28 23:46:01 2022 +0100 Reset to master commit 32d790a37553fef5524e54ab14d2c3dec0da0155 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon Mar 28 14:06:21 2022 +0100 Now possible to reregister tooltips for a specific container commit d5608a17acf64d7ecb84930f64ad58ee9e180647 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon Mar 28 13:16:30 2022 +0100 Fix new line in queue tooltip commit f7659aa5bb5753da56e8a2646244bc1e6956a3fe Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sun Mar 27 23:34:25 2022 +0100 Fix last build successful from having a title commit bfce09a66087cb1c7ea19826d79c5f8c9f11eb95 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sun Mar 27 23:31:31 2022 +0100 Fix new lines in tooltips, fix empty tooltips showing commit c58eb410c4d1d2eb8a7413f6498aa10385985039 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri Mar 25 14:27:13 2022 +0000 Update keyboard shortcut logic commit b3306618e698b790f82a918505f00165678e46fd Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Mar 24 23:15:30 2022 +0000 Initial commit, working search overlay commit 93632d30af866115c05150ce5cdaace869bc41d7 Merge: 60e423298b 5144035e55 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 22 09:52:43 2022 +0000 Merge branch 'master' into tippy-1-tooltip commit 60e423298bd8b51ff40425041afb7a11c345f37c Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri Mar 18 00:31:41 2022 +0000 Update tooltips.js commit 9be65d6a2fefda14cc71eb20c52d157b27f6deac Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri Mar 18 00:30:14 2022 +0000 Update prototype.js commit 22f300a8995e0be65f828d5f39eb124d7d8a4b12 Merge: 7223890edc 422efe996e Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Mar 17 20:40:32 2022 +0000 Merge branch 'master' into tippy-1-tooltip commit 7223890edc5b5b3f9d75163eac7934d6d725e304 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 15 13:28:35 2022 +0000 Add percentage symbol commit 133c486f8c968743837d928ead7669ee2c23402e Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 15 09:51:35 2022 +0000 Update header tooltips, add base tooltip styling commit 7e43dfae11f26952da7e5be889d8c961b2a53620 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 15 01:27:16 2022 +0000 Update buildHealth.jelly commit df6847a768a5baddec5055b4e0995d00c578f425 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 15 01:25:16 2022 +0000 Now possible to reregister tooltips commit 7e6c576bb508bf6f5bf738ba17a6840ca733baaf Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 15 01:15:10 2022 +0000 Fix tooltip showing when it shouldn't, improve appearance commit 940d51af70026e1f12751d8baea7aacb1adf0f0a Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 15 00:47:18 2022 +0000 WB commit 1fbcc55264992c6872623554d827744f2e7eada4 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 15 00:38:20 2022 +0000 Update tooltips.less commit 491b1f1fecaf4cc099029d6253cc6fc548bfe193 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 15 00:36:07 2022 +0000 Update hudson-behavior.js commit 09e9109d25b85c1ff566a0da7daf61f61f5c02f2 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 15 00:33:13 2022 +0000 WB commit db1928d0fa6720d3becd37e83cfbd72fdc67ebf9 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 15 00:24:10 2022 +0000 Add initial JS files commit 0ff896bf573a91f587f7ad3dce064fa7bcd16415 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Mar 15 00:20:38 2022 +0000 Add yarn deps commit 0f2ef2f78ecd07d5a7fe0f7f0ad5f3dc6fb796c6 Merge: db677f30ee 22dcefcd8f Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jul 7 13:48:53 2022 +0100 Merge branch 'master' into new-plugin-manager-1 commit 702bb2a48caedf1bfd53d61b7df6ca734e0c665d Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jul 6 17:29:10 2022 +0100 Revamp search styling commit fba08e70064be1c9e4b8500541bd7ba4766f6dde Merge: 494f551b63 644a261e78 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jul 6 16:20:38 2022 +0100 Merge branch 'master' into search-overhaul commit db677f30ee24596dcf767172f2fd3ed9cb310539 Merge: 6e64c686e2 644a261e78 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jul 6 13:37:57 2022 +0100 Merge branch 'master' into new-plugin-manager-1 commit 6e64c686e29a65cf080c1cade74fb2f1c705eaf0 Merge: dbc96f46a1 250540e9a7 Author: Tim Jacomb <21194782+timja@users.noreply.github.com> Date: Wed Jul 6 07:48:54 2022 +0100 Merge branch 'master' into new-plugin-manager-1 commit dbc96f46a181dce9c7aedfcc092b5967d0cb5d58 Merge: d74aeae50d 2b83c2e72b Author: Tim Jacomb <21194782+timja@users.noreply.github.com> Date: Wed Jul 6 06:43:36 2022 +0100 Merge branch 'master' into new-plugin-manager-1 commit d74aeae50d2b26f30cb7ac1a2c4a7710da1122e0 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 5 23:29:13 2022 +0100 Remove unused page variable commit 9f3c69c84cb8d38c2671959c01df78bc22e6621f Merge: a46beb73dc 4ba9c08901 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 5 23:10:31 2022 +0100 Merge branch 'master' into new-plugin-manager-1 commit a46beb73dcfdeacd0751bd7c134b64cbbd0f069d Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 5 17:39:32 2022 +0100 Improve visibility of search bar commit a688b3b6fb73d5fc15a5277b4f5bba7e4fa35e36 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 5 17:11:11 2022 +0100 Restore tab bar commit a39862cd0d517b05cb034cdb45c698d90c59e8cf Merge: 87c27c2fd0 76e5c98dd3 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jul 5 17:08:02 2022 +0100 Merge branch 'master' into new-plugin-manager-1 commit 87c27c2fd008020a7121617f6833aa94124e0940 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon Jun 20 11:42:19 2022 +0100 Update side-panel-tasks.less commit abcbecf27d740a15d0442ca8172c40d06692c6d8 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sun Jun 19 22:42:50 2022 +0100 Update search bar commit 88b2a5996f402b2c4c27e15acff9aa6a03771afd Merge: f89fe63a48 2391319f45 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Sun Jun 19 22:37:53 2022 +0100 Merge branch 'move-manage-jenkins-less' into new-plugin-manager-1 commit 2391319f456ab48cee33edc6832d4d160dc692db Merge: c9e2823d4a ac66b476d9 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jun 16 17:47:45 2022 +0100 Merge branch 'master' into move-manage-jenkins-less commit c9e2823d4a688fcdd1450d682a425e59142678a0 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jun 16 17:35:37 2022 +0100 Update colors commit c78dfd6b509821a23a0d1416f14b4d98048510fe Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jun 16 17:33:47 2022 +0100 Update theme.less commit 0996e759d6879c4f304603d08a0465dad49dbc10 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jun 16 17:32:52 2022 +0100 Update theme.less commit e57bc28553bfd42fa1101332bc2e168fca99bb81 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jun 16 17:29:15 2022 +0100 Update theme.less commit 69c1633e1e5c7f8f2aa5840f128427b71545536a Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jun 16 17:00:06 2022 +0100 Update style.less commit e21d4e7ccb85171c96372e368147730ac0b33060 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jun 15 19:03:50 2022 +0100 Update breadcrumbs to use new item mixin commit 90fc4ba1470b17d08f0b170761f489e1f2e30045 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jun 15 18:57:51 2022 +0100 Rename mixin commit 28d06386cee2dd4a377bb570b594be01f6b94648 Merge: d1f42acfd5 65fcda1350 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue Jun 14 23:35:10 2022 +0100 Merge branch 'master' into move-manage-jenkins-less commit d1f42acfd5edb6659d800dd78eb4412f4ae66909 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri Jun 10 11:13:58 2022 +0100 Update table.less commit 13d572989206124655a5aa9034ebff68fe9c92e2 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Jun 9 10:03:01 2022 +0100 Move from px to rem commit 68f5425a7b67b5f13a9b14007c81dd752c71cae7 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jun 8 16:40:41 2022 +0100 Update theme.less commit 929e2d5e5abcffc833e74a5346494789c2bf2c51 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jun 8 16:28:06 2022 +0100 Update mixins.less commit 8c4b4662a25657494b934ea9d9f8f7aba79f091d Merge: 8b22270188 77a36fcee9 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jun 8 16:27:25 2022 +0100 Merge branch 'master' into move-manage-jenkins-less commit 8b2227018877e49f9fc013567ac910be4cd159d0 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jun 8 16:19:42 2022 +0100 Update theme.less commit e925490722e5a0c256b3436f006107e69de95223 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jun 8 16:17:02 2022 +0100 Add mixin for items commit 494f551b639e4d65d66e6bbf7e00ee091cc9aad1 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed Jun 8 12:06:53 2022 +0100 Fix url, add sidebar source commit b3d74c4f04d43b9d2cff54f52e1cbcf37a605427 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon May 30 16:28:25 2022 +0100 Fix imports commit defecc64d1f677e8e1b66afe0fa9818bf37d92f1 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon May 30 16:14:29 2022 +0100 Update AboutJenkins.java commit bc9a82ba4912be971c057d5b949d78b05a12bea6 Merge: 19587f6774 d2e3468fb7 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon May 30 16:14:25 2022 +0100 Merge branch 'master' into search-overhaul commit 19587f6774f5f4a8883b7e9ffa8e82d80ef5575d Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon May 30 16:12:30 2022 +0100 Remove another search index builder, correct icons commit 3a07a1575ff8fd16b9cdbd08f2942e3f9c6e6861 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon May 30 15:28:12 2022 +0100 Add debounce, fix loading animation commit 0c42352465e9f1e1fce0411f9187036824bb9ac2 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon May 30 15:03:45 2022 +0100 Fix not being able to close modal by clicking backdrop commit 0037021a8550544553c97827e85375486631f1ac Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon May 30 14:55:29 2022 +0100 Remove some search entries, make icons smaller commit f89fe63a4830362133069d0a0822963ec676383a Merge: 1cb37d1031 032a10599f Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu May 26 20:18:41 2022 +0100 Merge branch 'master' into new-plugin-manager-1 commit 9ef136f7de51e8426e247c3db4cefb149d4c11ac Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed May 25 10:19:58 2022 +0100 Get symbols working commit 8b50d9e1dba6ffee65a5e69d473dd9737c3276b8 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed May 25 01:09:26 2022 +0100 Fix scrolling commit bdcb9b7b029f4a7a6a94229790856ad613e9493d Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Wed May 25 00:30:56 2022 +0100 Refactor using datasources commit 684997d7b12ee9e84bfab5a2adfa2b70c7e771ea Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue May 24 23:22:35 2022 +0100 Refactor with ES6 classes commit 4cb4af62ab13a9d46cf841304ab4d0c921aa361f Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon May 23 21:16:14 2022 +0100 Working build commit 4c1276392b11c112a8d7399239375e122104b7d0 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon May 23 19:57:52 2022 +0100 Remove keyboard shortcuts commit c27db22bae904aa5576c759ff182916ca975de30 Merge: c58eb410c4 49f9f0c26e Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon May 23 19:57:38 2022 +0100 Merge branch 'master' into search-overhaul commit d579dc5ae2142c96f47f4de496a8f1c973fb1831 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue May 17 00:52:29 2022 +0100 Update section.less commit 43e4f5c48a888d181b294b9fbc3653a06a6644db Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Tue May 17 00:29:22 2022 +0100 Init commit 1cb37d1031298dd1f77dce40f994958fde0e2972 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Apr 28 17:23:38 2022 +0100 Revert "Remove unused icon preload" This reverts commit 28aaf91769c84d0019f9ac953660a9f1b344c7f1. commit 28aaf91769c84d0019f9ac953660a9f1b344c7f1 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Apr 28 17:20:41 2022 +0100 Remove unused icon preload commit dc8ba52a8dbfb0e7f5a4e255b202545aac59ce4f Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Apr 28 12:07:35 2022 +0100 Fix translucency on Firefox commit 84596ee309687f4c92e1cc43d48471e961f354b0 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Mon Apr 25 20:37:20 2022 +0100 Update plugin-manager.less commit cf28feea18d437bbf3b276bf01097d049807b775 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Apr 21 23:33:22 2022 +0100 Add loading animation commit addb738804f7a61198c7582620bde555cdf1ac48 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Apr 21 23:23:13 2022 +0100 Finish commit 53902db663ff46715176c3a005262c0dc855816d Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Apr 21 23:02:08 2022 +0100 Update sidebar commit b8a622ce8f5ecd5e00137a12e04fe1ad5e05928e Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Apr 21 22:43:32 2022 +0100 Init commit c58eb410c4d1d2eb8a7413f6498aa10385985039 Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Fri Mar 25 14:27:13 2022 +0000 Update keyboard shortcut logic commit b3306618e698b790f82a918505f00165678e46fd Author: Jan Faracik <43062514+janfaracik@users.noreply.github.com> Date: Thu Mar 24 23:15:30 2022 +0000 Initial commit, working search overlay --- .../main/java/hudson/model/AbstractItem.java | 6 + .../java/hudson/model/AbstractProject.java | 6 - .../main/java/hudson/model/Actionable.java | 6 + core/src/main/java/hudson/model/Job.java | 46 ---- core/src/main/java/hudson/model/Run.java | 13 -- core/src/main/java/hudson/model/User.java | 6 + core/src/main/java/hudson/model/View.java | 6 + core/src/main/java/hudson/search/Search.java | 26 ++- .../main/java/hudson/search/SearchItem.java | 20 ++ .../hudson/search/SearchItemCategory.java | 30 +++ core/src/main/java/jenkins/Symbols.java | 63 ++++++ core/src/main/java/jenkins/model/Jenkins.java | 5 - .../jenkins/model/ParameterizedJobMixIn.java | 14 -- .../views/JenkinsHeader/headerContent.jelly | 28 +-- .../lib/layout/command-palette.jelly | 47 ++++ .../main/resources/lib/layout/layout.jelly | 2 + war/src/main/js/api/search.js | 11 + war/src/main/js/api/symbols.js | 11 + war/src/main/js/app.js | 2 + .../components/command-palette/datasources.js | 23 ++ .../js/components/command-palette/helpers.js | 11 + .../js/components/command-palette/index.js | 206 ++++++++++++++++++ .../js/components/command-palette/models.js | 35 +++ .../js/components/command-palette/symbols.js | 2 + war/src/main/js/keyboard-shortcuts.js | 18 +- war/src/main/less/abstracts/mixins.less | 1 + war/src/main/less/form/search-bar.less | 31 +-- .../main/less/modules/command-palette.less | 182 ++++++++++++++++ war/src/main/less/modules/page-header.less | 16 +- war/src/main/less/styles.less | 1 + .../main/resources/images/symbols/project.svg | 1 + .../main/resources/images/symbols/search.svg | 2 +- 32 files changed, 741 insertions(+), 136 deletions(-) create mode 100644 core/src/main/java/hudson/search/SearchItemCategory.java create mode 100644 core/src/main/java/jenkins/Symbols.java create mode 100644 core/src/main/resources/lib/layout/command-palette.jelly create mode 100644 war/src/main/js/api/search.js create mode 100644 war/src/main/js/api/symbols.js create mode 100644 war/src/main/js/components/command-palette/datasources.js create mode 100644 war/src/main/js/components/command-palette/helpers.js create mode 100644 war/src/main/js/components/command-palette/index.js create mode 100644 war/src/main/js/components/command-palette/models.js create mode 100644 war/src/main/js/components/command-palette/symbols.js create mode 100644 war/src/main/less/modules/command-palette.less create mode 100644 war/src/main/resources/images/symbols/project.svg diff --git a/core/src/main/java/hudson/model/AbstractItem.java b/core/src/main/java/hudson/model/AbstractItem.java index a605668bc65b..799cd0ecd456 100644 --- a/core/src/main/java/hudson/model/AbstractItem.java +++ b/core/src/main/java/hudson/model/AbstractItem.java @@ -43,6 +43,7 @@ import hudson.model.queue.SubTask; import hudson.model.queue.Tasks; import hudson.model.queue.WorkUnit; +import hudson.search.SearchItemCategory; import hudson.security.ACL; import hudson.security.ACLContext; import hudson.security.AccessControlled; @@ -588,6 +589,11 @@ public String getSearchUrl() { return getShortUrl(); } + @Override + public SearchItemCategory getSearchItemCategory() { + return SearchItemCategory.PROJECTS; + } + @Override @Exported(visibility = 999, name = "url") public final String getAbsoluteUrl() { diff --git a/core/src/main/java/hudson/model/AbstractProject.java b/core/src/main/java/hudson/model/AbstractProject.java index fa1a7777df7b..01b86cd5c5cf 100644 --- a/core/src/main/java/hudson/model/AbstractProject.java +++ b/core/src/main/java/hudson/model/AbstractProject.java @@ -61,7 +61,6 @@ import hudson.scm.SCM; import hudson.scm.SCMRevisionState; import hudson.scm.SCMS; -import hudson.search.SearchIndexBuilder; import hudson.security.Permission; import hudson.slaves.Cloud; import hudson.slaves.WorkspaceList; @@ -1708,11 +1707,6 @@ protected void buildDependencyGraph(DependencyGraph graph) { triggers().buildDependencyGraph(this, graph); } - @Override - protected SearchIndexBuilder makeSearchIndex() { - return getParameterizedJobMixIn().extendSearchIndex(super.makeSearchIndex()); - } - @Override protected HistoryWidget createHistoryWidget() { return buildMixIn.createHistoryWidget(); diff --git a/core/src/main/java/hudson/model/Actionable.java b/core/src/main/java/hudson/model/Actionable.java index 7e3e695d9c4f..ca856ede10d8 100644 --- a/core/src/main/java/hudson/model/Actionable.java +++ b/core/src/main/java/hudson/model/Actionable.java @@ -27,6 +27,7 @@ import edu.umd.cs.findbugs.annotations.NonNull; import edu.umd.cs.findbugs.annotations.Nullable; import hudson.Util; +import hudson.search.SearchItemCategory; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -35,6 +36,7 @@ import java.util.concurrent.CopyOnWriteArrayList; import java.util.logging.Level; import java.util.logging.Logger; + import jenkins.model.ModelObjectWithContextMenu; import jenkins.model.TransientActionFactory; import org.kohsuke.stapler.StaplerRequest; @@ -356,4 +358,8 @@ public Object getDynamic(String token, StaplerRequest req, StaplerResponse rsp) } private static final Logger LOGGER = Logger.getLogger(Actionable.class.getName()); + + public SearchItemCategory getSearchItemCategory() { + return SearchItemCategory.OTHER; + } } diff --git a/core/src/main/java/hudson/model/Job.java b/core/src/main/java/hudson/model/Job.java index dd9d88ff25c9..6051f0dcdedc 100644 --- a/core/src/main/java/hudson/model/Job.java +++ b/core/src/main/java/hudson/model/Job.java @@ -46,11 +46,6 @@ import hudson.model.listeners.ItemListener; import hudson.scm.ChangeLogSet; import hudson.scm.SCM; -import hudson.search.QuickSilver; -import hudson.search.SearchIndex; -import hudson.search.SearchIndexBuilder; -import hudson.search.SearchItem; -import hudson.search.SearchItems; import hudson.security.ACL; import hudson.tasks.LogRotator; import hudson.util.AlternativeUiTextProvider; @@ -479,31 +474,6 @@ public boolean supportsLogRotator() { return true; } - @Override - protected SearchIndexBuilder makeSearchIndex() { - return super.makeSearchIndex().add(new SearchIndex() { - @Override - public void find(String token, List result) { - try { - if (token.startsWith("#")) - token = token.substring(1); // ignore leading '#' - int n = Integer.parseInt(token); - Run b = getBuildByNumber(n); - if (b == null) - return; // no such build - result.add(SearchItems.create("#" + n, "" + n, b)); - } catch (NumberFormatException e) { - // not a number. - } - } - - @Override - public void suggest(String token, List result) { - find(token, result); - } - }).add("configure", "config", "configure"); - } - @Override public Collection getAllJobs() { return Set.of(this); @@ -911,8 +881,6 @@ public File getBuildDir() { * Returns the last build. * @see LazyBuildMixIn#getLastBuild */ - @Exported - @QuickSilver public RunT getLastBuild() { SortedMap runs = _getRuns(); @@ -925,8 +893,6 @@ public RunT getLastBuild() { * Returns the oldest build in the record. * @see LazyBuildMixIn#getFirstBuild */ - @Exported - @QuickSilver public RunT getFirstBuild() { SortedMap runs = _getRuns(); @@ -941,8 +907,6 @@ public RunT getFirstBuild() { * * @see #getLastStableBuild() */ - @Exported - @QuickSilver public RunT getLastSuccessfulBuild() { return (RunT) Permalink.LAST_SUCCESSFUL_BUILD.resolve(this); } @@ -951,8 +915,6 @@ public RunT getLastSuccessfulBuild() { * Returns the last build that was anything but stable, if any. Otherwise null. * @see #getLastSuccessfulBuild */ - @Exported - @QuickSilver public RunT getLastUnsuccessfulBuild() { return (RunT) Permalink.LAST_UNSUCCESSFUL_BUILD.resolve(this); } @@ -961,8 +923,6 @@ public RunT getLastUnsuccessfulBuild() { * Returns the last unstable build, if any. Otherwise null. * @see #getLastSuccessfulBuild */ - @Exported - @QuickSilver public RunT getLastUnstableBuild() { return (RunT) Permalink.LAST_UNSTABLE_BUILD.resolve(this); } @@ -971,8 +931,6 @@ public RunT getLastUnstableBuild() { * Returns the last stable build, if any. Otherwise null. * @see #getLastSuccessfulBuild */ - @Exported - @QuickSilver public RunT getLastStableBuild() { return (RunT) Permalink.LAST_STABLE_BUILD.resolve(this); } @@ -980,8 +938,6 @@ public RunT getLastStableBuild() { /** * Returns the last failed build, if any. Otherwise null. */ - @Exported - @QuickSilver public RunT getLastFailedBuild() { return (RunT) Permalink.LAST_FAILED_BUILD.resolve(this); } @@ -989,8 +945,6 @@ public RunT getLastFailedBuild() { /** * Returns the last completed build, if any. Otherwise null. */ - @Exported - @QuickSilver public RunT getLastCompletedBuild() { return (RunT) Permalink.LAST_COMPLETED_BUILD.resolve(this); } diff --git a/core/src/main/java/hudson/model/Run.java b/core/src/main/java/hudson/model/Run.java index 113b5a742efb..baf6bb7bb6e6 100644 --- a/core/src/main/java/hudson/model/Run.java +++ b/core/src/main/java/hudson/model/Run.java @@ -57,7 +57,6 @@ import hudson.model.listeners.RunListener; import hudson.model.listeners.SaveableListener; import hudson.model.queue.SubTask; -import hudson.search.SearchIndexBuilder; import hudson.security.ACL; import hudson.security.AccessControlled; import hudson.security.Permission; @@ -1577,18 +1576,6 @@ public void writeWholeLogTo(@NonNull OutputStream out) throws IOException, Inter return new AnnotatedLargeText(getLogFile(), getCharset(), !isLogUpdated(), this); } - @Override - protected @NonNull SearchIndexBuilder makeSearchIndex() { - SearchIndexBuilder builder = super.makeSearchIndex() - .add("console") - .add("changes"); - for (Action a : getAllActions()) { - if (a.getIconFileName() != null) - builder.add(a.getUrlName()); - } - return builder; - } - public @NonNull Api getApi() { return new Api(this); } diff --git a/core/src/main/java/hudson/model/User.java b/core/src/main/java/hudson/model/User.java index c41b28f2c1a0..7366d711346c 100644 --- a/core/src/main/java/hudson/model/User.java +++ b/core/src/main/java/hudson/model/User.java @@ -41,6 +41,7 @@ import hudson.init.Initializer; import hudson.model.Descriptor.FormException; import hudson.model.listeners.SaveableListener; +import hudson.search.SearchItemCategory; import hudson.security.ACL; import hudson.security.AccessControlled; import hudson.security.SecurityRealm; @@ -276,6 +277,11 @@ public String getId() { return "/user/" + Util.rawEncode(idStrategy().keyFor(id)); } + @Override + public SearchItemCategory getSearchItemCategory() { + return SearchItemCategory.PEOPLE; + } + /** * The URL of the user page. */ diff --git a/core/src/main/java/hudson/model/View.java b/core/src/main/java/hudson/model/View.java index c63d0a7be7a0..971573ce10ae 100644 --- a/core/src/main/java/hudson/model/View.java +++ b/core/src/main/java/hudson/model/View.java @@ -44,6 +44,7 @@ import hudson.scm.ChangeLogSet; import hudson.search.CollectionSearchIndex; import hudson.search.SearchIndexBuilder; +import hudson.search.SearchItemCategory; import hudson.security.ACL; import hudson.security.AccessControlled; import hudson.security.Permission; @@ -561,6 +562,11 @@ public String getSearchUrl() { return getUrl(); } + @Override + public SearchItemCategory getSearchItemCategory() { + return SearchItemCategory.VIEWS; + } + /** * Returns the transient {@link Action}s associated with the top page. * diff --git a/core/src/main/java/hudson/search/Search.java b/core/src/main/java/hudson/search/Search.java index 70458355323d..6c708db7685a 100644 --- a/core/src/main/java/hudson/search/Search.java +++ b/core/src/main/java/hudson/search/Search.java @@ -123,8 +123,14 @@ public void doSuggestOpenSearch(StaplerRequest req, StaplerResponse rsp, @QueryP */ public void doSuggest(StaplerRequest req, StaplerResponse rsp, @QueryParameter String query) throws IOException, ServletException { Result r = new Result(); - for (SuggestedItem item : getSuggestions(req, query)) - r.suggestions.add(new Item(item.getPath())); + for (SuggestedItem item : getSuggestions(req, query)) { + r.suggestions.add(new Item( + item.getPath(), + item.item.getSearchDescription(), + item.item.getSearchUrl(), + item.item.getSearchItemIcon().getClassSpec(), + item.item.getSearchItemCategory().getName())); + } rsp.serveExposedBean(req, r, Flavor.JSON); } @@ -195,13 +201,29 @@ public static class Result { @ExportedBean(defaultVisibility = 999) public static class Item { + @Exported + public String url; @Exported @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD", justification = "read by Stapler") public String name; + @Exported + public String description; + @Exported + public String icon; + @Exported + public String category; public Item(String name) { this.name = name; } + + public Item(String name, String description, String url, String icon, String category) { + this.name = name; + this.description = description; + this.url = url; + this.icon = icon; + this.category = category; + } } private enum Mode { diff --git a/core/src/main/java/hudson/search/SearchItem.java b/core/src/main/java/hudson/search/SearchItem.java index 02b2921b9741..cce6553f64bb 100644 --- a/core/src/main/java/hudson/search/SearchItem.java +++ b/core/src/main/java/hudson/search/SearchItem.java @@ -25,6 +25,7 @@ package hudson.search; import hudson.model.Build; +import org.jenkins.ui.icon.Icon; /** * Represents an item reachable from {@link SearchIndex}. @@ -54,6 +55,25 @@ public interface SearchItem { String getSearchUrl(); + default String getSearchDescription() { + return null; + } + + // TODO + default SearchItemCategory getSearchItemCategory() { + return SearchItemCategory.OTHER; + } + + // TODO + // Overrides the icon from search item category + default Icon getSearchItemIcon() { + if (getSearchItemCategory() != null) { + return getSearchItemCategory().getIcon(); + } + + return null; + } + /** * Returns the {@link SearchIndex} to further search sub items inside this item. * diff --git a/core/src/main/java/hudson/search/SearchItemCategory.java b/core/src/main/java/hudson/search/SearchItemCategory.java new file mode 100644 index 000000000000..99b72787432b --- /dev/null +++ b/core/src/main/java/hudson/search/SearchItemCategory.java @@ -0,0 +1,30 @@ +package hudson.search; + +import org.jenkins.ui.icon.Icon; + +public enum SearchItemCategory { + PAGES("Pages", "symbol-details"), + SETTINGS("Settings", "symbol-settings"), + VIEWS("Views", "symbol-folder"), + PROJECTS("Projects", "symbol-project"), + BUILDS("Builds", "symbol-list"), + PEOPLE("People", "symbol-person"), + NODES("Nodes", "symbol-computer"), + OTHER("Other", "symbol-cube"); + + private final String name; + private final Icon icon; + + SearchItemCategory(String name, String iconSource) { + this.name = name; + this.icon = new Icon(iconSource, ""); + } + + public String getName() { + return name; + } + + public Icon getIcon() { + return icon; + } +} diff --git a/core/src/main/java/jenkins/Symbols.java b/core/src/main/java/jenkins/Symbols.java new file mode 100644 index 000000000000..946683713459 --- /dev/null +++ b/core/src/main/java/jenkins/Symbols.java @@ -0,0 +1,63 @@ +package jenkins; + +import hudson.Extension; +import hudson.model.RootAction; +import hudson.util.HttpResponses; + +import java.util.Objects; +import net.sf.json.JSONObject; +import org.jenkins.ui.icon.IconSet; +import org.kohsuke.accmod.Restricted; +import org.kohsuke.accmod.restrictions.NoExternalUse; +import org.kohsuke.stapler.HttpResponse; +import org.kohsuke.stapler.StaplerRequest; + +import static hudson.Functions.extractPluginNameFromIconSrc; + +@Extension +@Restricted(NoExternalUse.class) +public class Symbols implements RootAction { + + @Override + public String getIconFileName() { + return null; + } + + @Override + public String getDisplayName() { + return null; + } + + @Override + public String getUrlName() { + return "symbols"; + } + + /** + * Returns a Jenkins Symbol + * + * @param request The request. + * @return The JSON response. + */ + public HttpResponse doIndex(StaplerRequest request) { + String symbol = request.getParameter("symbol"); + + if (symbol == null) { + return HttpResponses.errorJSON("Mandatory parameter 'symbol' not specified."); + } + + symbol = symbol.replace("symbol-", ""); + + String title = Objects.toString(request.getParameter("title"), ""); + String tooltip = Objects.toString(request.getParameter("tooltip"), ""); + String htmlTooltip = Objects.toString(request.getParameter("html-tooltip"), ""); + String classes = Objects.toString(request.getParameter("classes"), ""); + String pluginName = extractPluginNameFromIconSrc(symbol); + String id = Objects.toString(request.getParameter("id"), ""); + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("symbol", IconSet.getSymbol(symbol, title, tooltip, tooltip, classes, pluginName, id)); + + return HttpResponses.okJSON(jsonObject); + } +} diff --git a/core/src/main/java/jenkins/model/Jenkins.java b/core/src/main/java/jenkins/model/Jenkins.java index 4f4d2b53ec0c..133a8b803139 100644 --- a/core/src/main/java/jenkins/model/Jenkins.java +++ b/core/src/main/java/jenkins/model/Jenkins.java @@ -2393,11 +2393,6 @@ public String getSearchUrl() { @Override public SearchIndexBuilder makeSearchIndex() { SearchIndexBuilder builder = super.makeSearchIndex(); - if (hasPermission(ADMINISTER)) { - builder.add("configure", "config", "configure") - .add("manage") - .add("log"); - } builder.add(new CollectionSearchIndex() { @Override protected SearchItem get(String key) { return getItemByFullName(key, TopLevelItem.class); } diff --git a/core/src/main/java/jenkins/model/ParameterizedJobMixIn.java b/core/src/main/java/jenkins/model/ParameterizedJobMixIn.java index ab70700ac112..bd39b9f1f81e 100644 --- a/core/src/main/java/jenkins/model/ParameterizedJobMixIn.java +++ b/core/src/main/java/jenkins/model/ParameterizedJobMixIn.java @@ -47,7 +47,6 @@ import hudson.model.Run; import hudson.model.listeners.ItemListener; import hudson.model.queue.QueueTaskFuture; -import hudson.search.SearchIndexBuilder; import hudson.triggers.Trigger; import hudson.util.AlternativeUiTextProvider; import hudson.views.BuildButtonColumn; @@ -81,7 +80,6 @@ * Stateless so there is no need to keep an instance of it in a field. * Besides implementing {@link ParameterizedJob}, you should *
    - *
  • override {@link Job#makeSearchIndex} to call {@link #extendSearchIndex} *
  • override {@link Job#performDelete} to call {@link ParameterizedJob#makeDisabled} *
  • override {@link Job#getIconColor} to call {@link ParameterizedJob#isDisabled} *
  • use {@code } @@ -252,18 +250,6 @@ public final void doCancelQueue(StaplerRequest req, StaplerResponse rsp) throws rsp.forwardToPreviousPage(req); } - /** - * Use from a {@link Job#makeSearchIndex} override. - * @param sib the super value - * @return the value to return - */ - public final SearchIndexBuilder extendSearchIndex(SearchIndexBuilder sib) { - if (asJob().isBuildable() && asJob().hasPermission(Item.BUILD)) { - sib.add("build", "build"); - } - return sib; - } - /** * Computes the build cause, using RemoteCause or UserCause as appropriate. */ diff --git a/core/src/main/resources/jenkins/views/JenkinsHeader/headerContent.jelly b/core/src/main/resources/jenkins/views/JenkinsHeader/headerContent.jelly index b524562db973..51d9e11de9bd 100644 --- a/core/src/main/resources/jenkins/views/JenkinsHeader/headerContent.jelly +++ b/core/src/main/resources/jenkins/views/JenkinsHeader/headerContent.jelly @@ -1,6 +1,6 @@ -