Cover Files breadcrumb segment navigation
This commit is contained in:
parent
03dbede414
commit
05bfe1d993
|
|
@ -156,6 +156,29 @@ test.describe('G: Files Plugin', () => {
|
||||||
await expect(page.locator('[data-file-name="CutMe"]')).toHaveCount(0);
|
await expect(page.locator('[data-file-name="CutMe"]')).toHaveCount(0);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('files explorer navigates by clicking breadcrumb segments', async ({ page }) => {
|
||||||
|
await page.locator('.wt-label').filter({ hasText: 'Project' }).click();
|
||||||
|
await openFilesTool(page);
|
||||||
|
await expect(page.locator('.files-breadcrumb')).toContainText('Project', { timeout: 10000 });
|
||||||
|
|
||||||
|
await page.locator('[data-files-action="new-folder"]').click();
|
||||||
|
await page.locator('[data-files-create-input]').fill('BreadcrumbParent');
|
||||||
|
await page.locator('[data-files-create-confirm]').click();
|
||||||
|
await page.locator('[data-file-name="BreadcrumbParent"]').dblclick();
|
||||||
|
await expect(page.locator('.files-breadcrumb')).toContainText('BreadcrumbParent');
|
||||||
|
|
||||||
|
await page.locator('[data-files-action="new-folder"]').click();
|
||||||
|
await page.locator('[data-files-create-input]').fill('BreadcrumbChild');
|
||||||
|
await page.locator('[data-files-create-confirm]').click();
|
||||||
|
await page.locator('[data-file-name="BreadcrumbChild"]').dblclick();
|
||||||
|
await expect(page.locator('.files-breadcrumb')).toContainText('BreadcrumbChild');
|
||||||
|
|
||||||
|
await page.locator('.files-breadcrumb-item').filter({ hasText: 'BreadcrumbParent' }).click();
|
||||||
|
await expect(page.locator('.files-breadcrumb')).toContainText('BreadcrumbParent');
|
||||||
|
await expect(page.locator('.files-breadcrumb')).not.toContainText('BreadcrumbChild');
|
||||||
|
await expect(page.locator('[data-file-name="BreadcrumbChild"]')).toBeVisible();
|
||||||
|
});
|
||||||
|
|
||||||
test('files explorer duplicates a file from the context menu', async ({ page }) => {
|
test('files explorer duplicates a file from the context menu', async ({ page }) => {
|
||||||
await page.locator('.wt-label').filter({ hasText: 'Project' }).click();
|
await page.locator('.wt-label').filter({ hasText: 'Project' }).click();
|
||||||
await openFilesTool(page);
|
await openFilesTool(page);
|
||||||
|
|
|
||||||
|
|
@ -787,8 +787,20 @@
|
||||||
function firstSelected() { return selectedEntries()[0] || null; }
|
function firstSelected() { return selectedEntries()[0] || null; }
|
||||||
function updateBreadcrumb() {
|
function updateBreadcrumb() {
|
||||||
breadcrumb.innerHTML = '';
|
breadcrumb.innerHTML = '';
|
||||||
breadcrumb.appendChild(e('span', { className: 'files-breadcrumb-item', onClick: function () { nav(''); } }, [workspaceName]));
|
breadcrumb.appendChild(e('span', { className: current ? 'files-breadcrumb-item' : 'files-breadcrumb-current', onClick: function () { nav(''); } }, [workspaceName]));
|
||||||
if (current) breadcrumb.appendChild(e('span', { className: 'files-breadcrumb-current' }, [' / ' + current]));
|
if (!current) return;
|
||||||
|
var parts = current.split('/');
|
||||||
|
var path = '';
|
||||||
|
parts.forEach(function (part, index) {
|
||||||
|
path = path ? path + '/' + part : part;
|
||||||
|
breadcrumb.appendChild(e('span', { className: 'files-breadcrumb-sep' }, [' / ']));
|
||||||
|
var target = path;
|
||||||
|
var isCurrent = index === parts.length - 1;
|
||||||
|
breadcrumb.appendChild(e('span', {
|
||||||
|
className: isCurrent ? 'files-breadcrumb-current' : 'files-breadcrumb-item',
|
||||||
|
onClick: function () { if (!isCurrent) nav(target); }
|
||||||
|
}, [part]));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
function visible() {
|
function visible() {
|
||||||
return entries.filter(function (item) { return !item.isHidden && !item.isReserved && (!filter || item.name.toLowerCase().indexOf(filter) !== -1); }).sort(function (a, b) {
|
return entries.filter(function (item) { return !item.isHidden && !item.isReserved && (!filter || item.name.toLowerCase().indexOf(filter) !== -1); }).sort(function (a, b) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue