Files
2026-10-22 10:29:07 +00:00

1 line
3.1 KiB
Plaintext

{"version":3,"file":"files-search.mjs","sources":["../build/frontend/apps/files/src/plugins/search/folderSearch.ts"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { Node } from '@nextcloud/files'\n\nimport { getFilePickerBuilder } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\nimport { translate as t } from '@nextcloud/l10n'\nimport { imagePath } from '@nextcloud/router'\nimport { logger } from '../../utils/logger.ts'\n\n/**\n * Initialize the unified search plugin.\n */\nfunction init() {\n\tconst OCA = window.OCA\n\tif (!OCA.UnifiedSearch) {\n\t\treturn\n\t}\n\n\tlogger.info('Initializing unified search plugin: folder search from files app')\n\tOCA.UnifiedSearch.registerFilterAction({\n\t\tid: 'in-folder',\n\t\tappId: 'files',\n\t\tsearchFrom: 'files',\n\t\tlabel: t('files', 'In folder'),\n\t\ticon: imagePath('files', 'app.svg'),\n\t\tcallback: (showFilePicker: boolean = true) => {\n\t\t\tif (showFilePicker) {\n\t\t\t\tconst filepicker = getFilePickerBuilder(t('files', 'Pick folder to search in'))\n\t\t\t\t\t.setNoMenu(true)\n\t\t\t\t\t.addMimeTypeFilter('httpd/unix-directory')\n\t\t\t\t\t.allowDirectories(true)\n\t\t\t\t\t.addButton({\n\t\t\t\t\t\tlabel: 'Pick',\n\t\t\t\t\t\tcallback: (nodes: Node[]) => {\n\t\t\t\t\t\t\tlogger.info('Folder picked', { folder: nodes[0] })\n\t\t\t\t\t\t\tconst folder = nodes[0]\n\t\t\t\t\t\t\tconst filterUpdateText = (folder.root === '/files/' + folder.basename)\n\t\t\t\t\t\t\t\t? t('files', 'Search in all files')\n\t\t\t\t\t\t\t\t: t('files', 'Search in folder: {folder}', { folder: folder.basename })\n\t\t\t\t\t\t\temit('nextcloud:unified-search:add-filter', {\n\t\t\t\t\t\t\t\tid: 'in-folder',\n\t\t\t\t\t\t\t\tappId: 'files',\n\t\t\t\t\t\t\t\tsearchFrom: 'files',\n\t\t\t\t\t\t\t\tpayload: folder,\n\t\t\t\t\t\t\t\tfilterUpdateText,\n\t\t\t\t\t\t\t\tfilterParams: { path: folder.path },\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.build()\n\t\t\t\tfilepicker.pick()\n\t\t\t} else {\n\t\t\t\tlogger.debug('Folder search callback was handled without showing the file picker, it might already be open')\n\t\t\t}\n\t\t},\n\t})\n}\n\ndocument.addEventListener('DOMContentLoaded', init)\n"],"names":["init","OCA","logger","t","imagePath","showFilePicker","getFilePickerBuilder","nodes","folder","filterUpdateText","emit"],"mappings":"+uBAgBA,SAASA,GAAO,CACf,MAAMC,EAAM,OAAO,IACdA,EAAI,gBAITC,EAAO,KAAK,kEAAkE,EAC9ED,EAAI,cAAc,qBAAqB,CACtC,GAAI,YACJ,MAAO,QACP,WAAY,QACZ,MAAOE,EAAE,QAAS,WAAW,EAC7B,KAAMC,EAAU,QAAS,SAAS,EAClC,SAAU,CAACC,EAA0B,KAAS,CACzCA,EACgBC,EAAqBH,EAAE,QAAS,0BAA0B,CAAC,EAC5E,UAAU,EAAI,EACd,kBAAkB,sBAAsB,EACxC,iBAAiB,EAAI,EACrB,UAAU,CACV,MAAO,OACP,SAAWI,GAAkB,CAC5BL,EAAO,KAAK,gBAAiB,CAAE,OAAQK,EAAM,CAAC,EAAG,EACjD,MAAMC,EAASD,EAAM,CAAC,EAChBE,EAAoBD,EAAO,OAAS,UAAYA,EAAO,SAC1DL,EAAE,QAAS,qBAAqB,EAChCA,EAAE,QAAS,6BAA8B,CAAE,OAAQK,EAAO,SAAU,EACvEE,EAAK,sCAAuC,CAC3C,GAAI,YACJ,MAAO,QACP,WAAY,QACZ,QAASF,EACT,iBAAAC,EACA,aAAc,CAAE,KAAMD,EAAO,IAAA,CAAK,CAClC,CACF,CAAA,CACA,EACA,MAAA,EACS,KAAA,EAEXN,EAAO,MAAM,8FAA8F,CAE7G,CAAA,CACA,EACF,CAEA,SAAS,iBAAiB,mBAAoBF,CAAI"}